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