a = ((1,2,3),(4,5,6,),(7,8,9))
b = list(a)
print b
for c in b:
c = list(c)
print c
print b
想把这个多维元组变成[[1,2,3],[4,5,6],[7,8,9]]
输出结果如下,仍然无法实现这种效果:
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
怎样才能将多维元组,全部转换成列表?
在使用for从序列中得到的每一个对象,事实上都是从原序列中复制了一份。因此对此对象进行处理时,只是处理了复制体,并没有影响到原序列。
如果需要对原序列做修改,有很多方法,下面是在评论中看到的一个比较简单易想的:
a = ((1,2,3),(4,5,6,),(7,8,9))
b = list(a)
print b
for c in b:
b[b.index(c)] = list(c)
print c
print b
即直接对原序列进行更换,运行结果如下:
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
(1, 2, 3)
(4, 5, 6)
(7, 8, 9)
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]