[英]Dictionary/Tuples in Python
我的目的是轉換此對列表:
[(9, 7), (78, 24), (17, 74), (53, 81), (40, 43), (79, 82), (84, 46), (68, 53),(92, 95), (60, 38), (78, 62), (72, 57)]
對於此字典:
{'78': [24,62], '53': [81], '92': [95], '68': [53], '17': [74], '9': [7], '40': [43], '84': [46], '60': [38], '79': [82], '72': [57]}
這是我的代碼:
def convert list_tuples_to_dictionary(lst):
global count
count={}
for i in range(len(lst)):
x=str(lst[i][0])
if (x in count):
count[x]=[lst[i][1]]+count[x]
else:
count[x]=[lst[i][1]]
我似乎在某處出現語法錯誤。 我猜我不能將列表用作字典中的鍵。 是這樣嗎
如果是,您可以提供替代方法嗎?
from collections import defaultdict
res = defaultdict(list)
for k, v in lst: res[k].append(v)
default_dict
是一種字典實現,其工作方式是,如果還不存在鍵,則會自動創建它(使用通常的dict
您將得到keyError
)。 在res
您將找到按鍵分組的值,這基本上是一個groupByKey
操作。
我認為這會起作用:
data = [(9, 7), (78, 24), (17, 74), (53, 81), (40, 43), (79, 82), (84, 46), (68, 53),(92, 95), (60, 38), (78, 62), (72, 57)]
count = {}
for i in data:
if not i[0] in count:
count[i[0]] = []
count[i[0]].append(i[1])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.