使用两个for中使用字典
boys=['chris','arnold','bob','davice']girls=['alice','bernice','clarie','acy']litergirls={}g='s'b='a'for girl in girls: litergirls.setdefault(girl[0],[]).append(girl)print([(b,g) for b in boys])print([(b,g) for g in litergirls[b[0]]])print([(b,g) for b in boys for g in litergirls[b[0]]])>>> ================================ RESTART ================================>>> [('chris', 's'), ('arnold', 's'), ('bob', 's'), ('davice', 's')][('a', 'alice'), ('a', 'acy')]Traceback (most recent call last): File "D:\Program Files\python\556.py", line 48, in <module> print([(b,g) for b in boys for g in litergirls[b[0]]]) File "D:\Program Files\python\556.py", line 48, in <listcomp> print([(b,g) for b in boys for g in litergirls[b[0]]])KeyError: 'd'