【发布时间】:2017-07-02 16:46:56
【问题描述】:
我有一个这样的列表:
My_dict={0: ['Name1', 'value1', 'value2', 'value3'],
1: ['Name2', 'value4', 'value5', 'value6'],
2: ['Name1', 'value7', 'value8', 'value9']}
我需要从中创建另一个字典 - 将列表中的第一个值作为键,对于那些重复的键 - 将值附加到值列表。 我想看到的结果是:
New_dict= {'Name1': ['value1','value2','value3','value7','value8','value9'],
'Name2': ['value4', 'value5', 'value6']}
现在我正在考虑将字典转换为列表列表并创建新字典(但我在创建新字典时会重写值)
lists=[]
My_dict={0: ['Name1', 'value1', 'value2', 'value3'],
1: ['Name2', 'value4', 'value5', 'value6'],
2: ['Name1', 'value7', 'value8', 'value9']}
for v in My_dict.items():
lists.append(v[1])
new_dict={x[0]: x[1:] for x in lists}
我应该在哪里添加 if 语句以验证我是否将值附加到 new_dict 中的现有键,而不是重写
【问题讨论】:
-
顺序重要吗?列表中会有重复项吗?
-
排序比较好,但不是那么重要。是的,可以有很多重复项
标签: python list python-3.x dictionary