【发布时间】:2018-03-22 15:32:40
【问题描述】:
我有一个包含 5 个变量的列表,比如说:
list2=[1,2,3,4,5]
我有一个包含 5 个键值对的 dict 列表,我将其初始化为:
list1[i]= {"input1": 0, "input2": 0, "input3": 0, "input4": 0, "input5": 0}
我想遍历 dict 和 list,这样在每次迭代中,我都会用列表中的值替换 dict 中键的值,因此 dict 将变为:
list1[i]= {"input1": 1, "input2": 2, "input3": 3, "input4": 4, "input5": 5}
目前,我用它来遍历字典和列表:
def Get_Param(self):
self.list1=[]
inputcount=0
for line in self.textBox.get('1.0', 'end-1c').splitlines():
if line:
self.list1.append({'input1':0, 'input2':0, 'input3': 0, 'input4': 0, 'input5': 0})
list2=[int(i) for i in line.split()]
for parameter, value in zip(self.list1[inputcount], list2): //exception is thrown here
self.list1[inputcount][parameter]=value
inputcount+=1
但它不断返回“列表索引必须是整数,而不是 Unicode”异常。谁能提出一个更好的主意或告诉我我在代码的哪一部分做错了?
【问题讨论】:
-
您应该避免使用已定义的值,例如
dict变量名称 - 在您的情况下,dict初始化为什么?注意dict[i]不清楚dict实际上是什么。 -
原来我声明了dict=[ ],反正这里的dict只是为了举例,我在代码中使用了其他变量名
-
请注意,
dict没有排序,因此您可能会得到意想不到的结果... -
i的值是多少? -
i 当然是一个整数,我没有包含其余代码以保持问题简短
标签: python python-2.7 list dictionary iteration