Python 交换3个列表的元素并创建4个列表
我想通过交换最后三个元素从3个给定列表中生成4个列表 e、 我的名单是Python 交换3个列表的元素并创建4个列表,python,Python,我想通过交换最后三个元素从3个给定列表中生成4个列表 e、 我的名单是 a=[[1,0,0,1,1,0],[0,1,1,1,0,1],[1,1,1,1,0,0]] 我想要 b=[[1,0,0,1,0,1],[0,1,1,1,1,0],[0,1,1,1,0,0],[1,1,1,1,0,1]] 我还想在任何偶数列表上这样做,例如8个元素的列表,然后最后4个元素将交换 我的代码好像是这样的 n=8 chromosome=[[6, 4, 3, 5, 0, 3, 1, 0], [6, 2, 7,
a=[[1,0,0,1,1,0],[0,1,1,1,0,1],[1,1,1,1,0,0]]
我想要
b=[[1,0,0,1,0,1],[0,1,1,1,1,0],[0,1,1,1,0,0],[1,1,1,1,0,1]]
我还想在任何偶数列表上这样做,例如8个元素的列表,然后最后4个元素将交换
我的代码好像是这样的
n=8
chromosome=[[6, 4, 3, 5, 0, 3, 1, 0], [6, 2, 7, 6, 0, 4, 7, 5], [0, 3, 4, 3, 2, 1, 7, 6]]
for i in range(0,int(n/2)):
flag1 = False
flag = False
for j in range(0,n):
if (i)!=n/(n/2):
if flag1==False:
chromosome2[i].append(chromosome[i][j])
if int((n-1)/2)==j:
flag1 = True
else:
chromosome2[i].append(chromosome[i+1][j])
else:
if flag==False:
chromosome2[i].append(chromosome[i+1][j])
if int((n - 1) / 2) == j:
flag = True
else:
chromosome2[i].append(chromosome[i - 1][j])
您希望将一个列表的前半部分与另一个列表的后半部分连接起来,而不是最后三个元素
first, middle, last = [[1, 0, 0, 1, 1, 0], [0, 1, 1, 1, 0, 1], [1, 1, 1, 1, 0, 0]]
split_point = len(first) // 2
b = [
first[:split_point] + middle[split_point:],
middle[:split_point] + first[split_point:],
middle[:split_point] + last[split_point:],
last[:split_point] + middle[split_point:],
]
你的代码有什么问题?它会产生错误吗?如果是这样,请在问题主体中包含完整的回溯。它是否提供了错误的结果?如果是,请描述给定输入的输出。另外,请确保您的代码格式正确。实际上,它至少有一个缩进错误。我想你忘了问这个问题了吧?另外,你对这个问题的说明仍然不清楚你想做什么。如果有什么问题,我们需要一个解决方案。