Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用列表填充字典在python中不起作用_Python_List_Dictionary - Fatal编程技术网

用列表填充字典在python中不起作用

用列表填充字典在python中不起作用,python,list,dictionary,Python,List,Dictionary,简单地说,我试着从两个列表中填充字典,第一个列表被视为键,其中所有列表都有相同的单词文本。第二个列表被视为值 List_1 = ["text", "text", "text"] List_2 = ["Programmer", "Engineer", "Art Therapist"] data_dict = {} for j in range(len(List_1)): data_dict[List_1[j]] = List_2 [j] print(data_dict) #Exp

简单地说,我试着从两个列表中填充字典,第一个列表被视为键,其中所有列表都有相同的单词文本。第二个列表被视为值

List_1 = ["text", "text", "text"]

List_2 = ["Programmer", "Engineer", "Art Therapist"]

data_dict = {}
for j in range(len(List_1)):
    data_dict[List_1[j]] = List_2 [j]

print(data_dict)


#Expected output:
{'text': 'Programmer', 'text': 'Engineer', 'text': 'Art Therapist'}

#What I am getting is only:
{'text': 'Art Therapist'}

为什么会发生覆盖?有人能帮上忙吗?

由于dict键必须是唯一的,所以您使用的数据结构不正确

您可以将两个列表压缩在一起,但这仍然是一个序列/列表:


或者创建一个自定义类,实现您希望从dict中获得的功能。有关更多信息,请参阅。

字典中不能有重复的键。您希望如何从中检索值?@MohsenAli试想,在这种情况下调用my_dict['text']返回什么?你需要考虑字典是如何工作的,散列键等等。zipList_1,List_2会给你['text','Programmer','text':'Engineer','text','Art Recapient']你可以有{'text':['Programmer','Engineer','Art Recapient']}基本上这个值是一个列表。
list(zip(List_1, List_2))
# [('text', 'Programmer'), ('text', 'Engineer'), ('text', 'Art Therapist')]