将预先存在的int列表转换为str以与字典一起使用 以下代码(Scribus但肯定无关紧要)产生消息......
int -- int
str -- int
str -- int
str -- str ***
为什么第二个循环是col str类型?
for col in person:
num=col
scribus.messageBox("",str(type(num))+"--"+str(type(col)))
num=str(num)
scribus.messageBox("",str(type(num))+"--"+str(type(col)))
if num not in personlist:
num="0"
person[col]=num
scribus.messageBox("",str(type(num))+"--"+str(type(col)))
答案 0 :(得分:0)
person[col]=num
如果您尝试将person
中当前正在迭代的值替换为num
,则无效。 col
是列表中的值,而不是列表中值的索引。例如,在第一次迭代中,col
为1,因此person[col]=num
修改person
中的第二个元素而不是第一个元素。如果您想要索引,请使用enumerate
。
for idx, col in enumerate(person):
num=col
scribus.messageBox("",str(type(num))+"--"+str(type(col)))
num=str(num)
scribus.messageBox("",str(type(num))+"--"+str(type(col)))
if num not in personlist:
num="0"
person[idx]=num
scribus.messageBox("",str(type(num))+"--"+str(type(col)))