for row in tuple:
print row[6] # Error: tuple index out of range
storyLen = len(row[5])
row = row + (storyLen, )
print row[6] # No Error as it's added
# Leave loop now
for newRow in tuple:
print newRow[6] # Error: tuple index out of range
为什么会出现上述情况?这个值不应该保存在两个循环之间吗?还有其他方法可以修复它吗?如果重要的话,元组是一个类属性。你知道吗
所发生的是
row
是元组的实际元素的“副本”。因此,所做的任何更改都不会影响原始元组。(您可以通过打印id
来测试这一点)你能做什么?
可以循环索引:
这将起作用,因为您直接访问元组的元素。你知道吗
注意:不要使用
tuple
作为变量名,因为它将隐藏Python的tuple
类型的内置实现。你知道吗相关问题 更多 >
编程相关推荐