girls = ['alice', 'bernice', 'clarice']
boys = ['chris', 'arnold', 'bob']
girls
とboys
は2 lists
`letterGirls = {}`
letterGirls
ある簡単な言葉でこれを説明することができ、キーがdict_varになっていない場合dictionary
setdefault()
方法はdict_var[key]=default
を設定しますです(あなたの場合はdict_var
は、フォームの辞書を行いますあなたのコード
letterGirls.setdefault(girl[0], []).append(girl)
でletterGirls
)
dict_var.setdefault()の使用
dict-var.setdefault(somekey,[]).append(somevalue)
ある
{'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