-5
我在形成完整配套:
交换中的元组(蟒蛇)名单的两个数字
M=[(1,3),(2,4),(5,6)]
我想对它进行一个简单的换位。
功能si(M)
应交换数字i
和i+1
的位置。
例如s2(M)
应该交换号码2
和3
的位置:
s2(M)
应返回:
[(1,2),(3,4),(5,6)]
优选地写在python3代码。
我在形成完整配套:
交换中的元组(蟒蛇)名单的两个数字
M=[(1,3),(2,4),(5,6)]
我想对它进行一个简单的换位。
功能si(M)
应交换数字i
和i+1
的位置。
例如s2(M)
应该交换号码2
和3
的位置:
s2(M)
应返回:
[(1,2),(3,4),(5,6)]
优选地写在python3代码。
对于任何好奇的人,我很快写了一个函数。首先,完整匹配被写为2D列表。写一个主之前需要
以下功能:
def index_2d(myList, v): #Returns tuple containing the position of v in the 2D list
for i, x in enumerate(myList):
if v in x:
return (i, x.index(v))
如。如果完全匹配是M = [[1,2],[3,4],[5,6]],则index_2d(M,4)将返回(1,1)。
接下来,简单的置换函数:
def s(M,n):
a=index_2d(M,n)
b=index_2d(M,n+1)
M[a[0]][a[1]], M[b[0]][b[1]] = M[b[0]][b[1]], M[a[0]][a[1]]
return M
我不关心效率,所以也许还有比这更有效的代码。
SO不是一个要求随机的人为你做你的工作的地方..请尝试自己编码,如果你遇到任何问题询问他们。 –
非常好。因此,编写一些代码,如果遇到问题,请写一个主题问题并将其发布到此处。 – juanchopanza
请发表您自己的写作功能,我们会帮您解决。元组不是真的适合这个,因为它们是不可变的。你的转置函数应该有两个参数:你想转置的列表和索引。 –