用列表填充字典在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')]