您可以使用python的defaultdict
來達到此目的。它會自動生成一個列表作爲字典的默認值。
from collections import defaultdict
mydict = defaultdict(list)
list_of_names = ['aaron', 'boo', 'charlie']
for name in list_of_names:
if 'a' in name:
mydict['has_a'].append(name)
print mydict['has_a']
輸出:
['aaron', 'charlie']
的OP已,他希望在他的字典裏異質值的評論表示。在這種情況下,defaultdict
可能不合適,而應該只是特例處理這兩種情況。
# Initialize our dictionary with list values for the two special cases.
mydict = {'has_a' : [], 'has_b' : []}
list_of_names = ['aaron', 'boo', 'charlie']
for name in list_of_names:
if 'a' in name:
mydict['has_a'].append(name)
# When not in a special case, just use the dictionary like normal to assign values.
print mydict['has_a']
我寧願不這樣做,因爲我的許多其他鍵指的是布爾值而不是列表。我的字典中只需要2個列表。 – Michi
@Michi,在這種情況下,只需將兩個特殊情況添加到您的循環中即可。我會更新答案。 – merlin2011
它的工作原理 - 謝謝! – Michi