0
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
爲什麼會發生上述情況?不應該在兩個循環之間保存數值,並且無論如何要修復它?如果它很重要,則元組是一個類屬性。Tuple的新值不保存在foreach循環外
「*會發生什麼是'row'是元組實際元素的」複製「,因此,您所做的任何更改都不會影響原始元組。*」 - 這是一個危險的誤導性陳述。 'row'變量引用循環迭代開始時引用的元組單元的對象。分配給'row'會改變'row'引用的內容,但它不會改變元組的引用。另外,'tuple [i] + =(storyLen,)'將不起作用,因爲元組是不可變的。 – user2357112
@ user2357112這是否意味着在OP中沒有辦法達到我想要的效果?基督徒的建議將工作,如果我能夠像我一樣在OP中添加,但我想它只能這樣工作,因爲它引用了這些值。 編輯:我假設要做到這一點的方法是將它列入清單。 –