【发布时间】:2018-09-13 17:54:23
【问题描述】:
我有两个列表:
list_1 = ['2', '1', '1', '2', '1', '2', '1', '5', '4', '3', '2', '1', '3', '2', '1']
list_2 = ['az', 'z', 'c', 'bo', 'o', 'bo', 'o', 'beggh', 'eggh', 'ggh', 'gh', 'h', 'akl', 'kl', 'l']
两个列表中的字符串数量相同。我想从这两个列表中创建一个字典,所以我尝试:
new_dict = dict(zip(list_1, list_2))
我希望是这样的:
{
'2' : 'az',
'1' : 'z',
'1' : 'c',
....
}
我还希望字典中键值对的数量与 list_1 或 list_2 中的字符串数量相同。但是,当我尝试将字典打印出来时,它会给出:
{'2': 'kl', '1': 'l', '5': 'beggh', '4': 'eggh', '3': 'akl'}
键值对的数量只有5个,明显少于list_1或list_2中的字符串数量。出了什么问题?
【问题讨论】:
-
字典中不能有重复的键。如果您不想丢失数据,您可能需要一个列表字典
-
字典键必须是唯一的,这是字典的一部分。
-
正如@user3483203 所说,您不能拥有重复的密钥。如果您需要将这些值配对,请创建一个元组列表或列表列表。
-
这样的事情存在字典理解吗?
-
字典理解不会优雅地处理重复键。
标签: python python-3.x list dictionary