我有一個包含元組的列表,我想用'None'
字符串替換其中一個元組中的None
對象。ValueError迭代Python中的元組列表
這裏是我的代碼:
x = [('hello','there'),(None,'world',None)]
for i in x:
for j in i:
if j is None:
n = x.index(i)
l = list(x[n])
m = x[n].index(j)
l[m] = 'None'
x[n] = tuple(l)
然而,它拋出的錯誤:
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
ValueError: (None, 'world', None) is not in list
我如何可以遍歷元組適當地與'None'
字符串替換兩個None
對象?
元組是不可變的 - 我會建議使用不同的數據結構,如果你需要它是動態的。 – 2014-09-24 18:17:58
這是因爲你有兩個None,一旦你遇到第一個None,你改變了我的值,但你仍然保存着這個舊的值。例如,它開始爲'(None,'world',None)',但當它變成'('None','world',None)時,當它改變時''但是你的i仍然保存着原始值,你用'.index'搜索它沒有找到。 – 2014-09-24 18:21:30