我有一个二维列表:
def list():
list1 =[1,2,3,4,5]
list2 =[0,0,0,0,0]
list3 =[6,7,8,9,10]
list=[list1,list2,list3]
for i in list:
print(i)
list()
6将有坐标(0,2),对吧? 我想将6移动到(0,1),当我这样做时,我也希望(0,2)变为0。
我该怎么做?我不知道..我是初学者。
答案 0 :(得分:1)
直接分配给那两个索引对,从外部列表索引到内部(最后一个列表是2
,中间列表是1
),所以最后一个列表的第一个元素在[2][0]
:
outerlist[1][0], outerlist[2][0] = outerlist[2][0], 0
这会将两个值(一个取自outerlist[0][2]
,另一个取整个0
整数)分配给嵌套列表中的两个位置。
如果您想交换这两个位置(从0
获取outerlist[0][1]
),请使用相同的语法执行此操作:
outerlist[1][0], outerlist[2][0] = outerlist[2][0], outerlist[1][0]
因为在将两个值分配给左侧目标之前评估了右侧表达式:
>>> outerlist = [[1, 2, 3, 4, 5], [0, 0, 0, 0, 0], [6, 7, 8, 9, 10]]
>>> outerlist
[[1, 2, 3, 4, 5], [0, 0, 0, 0, 0], [6, 7, 8, 9, 10]]
>>> outerlist[1][0], outerlist[2][0] = outerlist[2][0], outerlist[1][0]
>>> outerlist
[[1, 2, 3, 4, 5], [6, 0, 0, 0, 0], [0, 7, 8, 9, 10]]