python列表修改元素_如何在Python中替换多维列表的第n个元素?
鑒于:
a = [['0', '0'], ['0', '0'], ['0', '0']]
您可以展平列表:
>>> [e for sub in a for e in sub]
['0', '0', '0', '0', '0', '0']
然后元素線性映射:
>>> fl=[e for sub in a for e in sub]
>>> fl[1]=1
>>> fl[2]=2
>>> fl
['0', 1, 2, '0', '0', '0']
如果展平列表,可以使用切片分配:
>>> fl[1:2]='XX'
>>> fl
['0', 'X', 'X', '0', '0', '0', '0', '0', '0', '0', '0']
然后重新組合子組,如果您這樣選擇:
>>> [list(e) for e in zip(*[fl[i::2] for i in range(2)])]
[['0', 'X'], ['X', '0'], ['0', '0']]
您還可以翻譯為多維下標(biāo):
li=[[1,2,3],[4,5],[6],[7,8,9,10]]
def xlate(li,wanted):
idx=0
for i,e in enumerate(li):
for j,e_ in enumerate(e):
if idx==wanted: return (i,j)
idx+=1
return (None,None)
t=xlate(li,5)
li[t[0]][t[1]]='X'
打印:
[[1, 2, 3], [4, 5], ['X'], [7, 8, 9, 10]]
總結(jié)
以上是生活随笔為你收集整理的python列表修改元素_如何在Python中替换多维列表的第n个元素?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个初学者困惑的Oracle的认证问题
- 下一篇: real6410 裸机实验- LED