girls = ['alice', 'bernice', 'clarice']
boys = ['chris', 'arnold', 'bob']
girls
和boys
解释这两种lists
`letterGirls = {}`
letterGirls
是dictionary
setdefault()
方法将设置dict_var[key]=default
如果关键是尚未在dict_var (在你的情况下,dict_var
是letterGirls
)
dict_var.setdefault()的用法
dict-var.setdefault(somekey,[]).append(somevalue)
在你的代码
letterGirls.setdefault(girl[0], []).append(girl)
将使形式的字典
{'c': ['clarice'], 'b': ['bernice'], 'a': ['alice']}
键是girl[0]
即名称的第一个字母。
您的脚本存在缩进问题。其他方式会导致Key error
。
应该
girls = ['alice', 'bernice', 'clarice']
boys = ['chris', 'arnold', 'bob']
letterGirls = {}
for girl in girls:
letterGirls.setdefault(girl[0], []).append(girl)
print ([b+'+'+g for b in boys for g in letterGirls[b[0]]])
你的输出
['chris+clarice', 'arnold+alice', 'bob+bernice']
通过取得男生列表中的每个项目,并从字典letterGirls
与第一个字母相同找到女孩的名字obatined什么,具体而言,你不明白吗? – EJoshuaS