簡體   English   中英

將列表值添加到列表字典

[英]Add list values to dictionary of lists

我有一個列表的字典:

my_dict = {'Name': ['John', 'Peter', 'Greg'], 'Age': [26, 39, 48]}

我想將平面列表中的新值添加到字典的每個鍵:

new_row = ['Bob', 23]

所以最終的字典看起來像這樣:

{'Name': ['John', 'Peter', 'Greg', 'Bob'], 'Age': [26, 39, 48, 23]}

最有效和最聰明的方法是什么,最好不依賴導入的模塊?

這會起作用,但有更好的方法嗎?

i = 0
for k in my_dict.keys():
    my_dict[k].append(new_row[i])
    i += 1

您可以將append用於鍵NameAge中的值,因為它們都是列表,並且列表是可變的

my_dict['Name'].append(new_row[0])
my_dict['Age'].append(new_row[1])
my_dict
Out[27]: {'Name': ['John', 'Peter', 'Greg', 'Bob'], 'Age': [26, 39, 48, 23]}

您可以zip將字典的值與列表。

for l, x in zip(my_dict.values(), new_row):
    l.append(x)

您還可以使用字典理解來創建新的字典而不修改原始字典。

new_dict = {k: v + [x] for (k,v), x in zip(my_dict.items(), new_row)}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM