我已经尝试了一段时间将2个列表添加到我创建的dictonary中。问题是,我想将它们运行到一个循环中,所以第一个dictonary运行10次,第二次运行只运行一次。 让我告诉你我的代码
list1 = [1,2,3,4,5,6,7,8,9,10]
list2 = ["Heart", "Spade", "Clubs", "Diamond"]
i = 0
k = 0
while i < len(list2):
while k < len(list1):
dictonary = dict(zip(list1, list2))
k = k+1
i = i+1
print(dictonary)
我得到的输出是:
{1: 'Heart', 2: 'Spade', 3: 'Clubs', 4: 'Diamond'}
我无法理解为什么它不会打印出来
{1: 'Heart', 2: 'Heart', 3: 'Heart' etc...}
我知道我的循环工作正常,但我可能会错过理解将两个列表一起添加到dictonary的概念? 非常感谢这里的一些帮助。 谢谢!
答案 0 :(得分:0)
你想要做的事情无论如何都不会使用字典。
代码可以修改一下
list1 = [1,2,3,4,5,6,7,8,9,10]
list2 = ["Heart", "Spade", "Clubs", "Diamond"]
dictonary={}
i = 0
k = 0
print(len(list2))
while i < len(list2):
k=0
while k < len(list1):
print(dictonary)
dictonary[list1[k]]=list2[i]
k = k+1
i = i+1
但是,您可以使用外部循环的每次迭代覆盖字典键的值。所以dictonary的最终内容是{1:&#39; Diamond&#39;,2:&#39; Diamond&#39; 3:&#39; Diamond&#39;等...}
我认为您尝试实现的目标可以使用配对值列表完成:
list1 = [1,2,3,4,5,6,7,8,9,10]
list2 = ["Heart", "Spade", "Clubs", "Diamond"]
dictonary=[]
i = 0
k = 0
print(len(list2))
while i < len(list2):
k=0
while k < len(list1):
print(dictonary)
dictonary.append([list1[k],list2[i]])
k = k+1
i = i+1