col是如何转换为str类型的?

时间:2015-02-09 14:56:44

标签: python string

将预先存在的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)))

1 个答案:

答案 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)))