Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 交换3个列表的元素并创建4个列表_Python - Fatal编程技术网

Python 交换3个列表的元素并创建4个列表

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,

我想通过交换最后三个元素从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, 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:],
]

你的代码有什么问题?它会产生错误吗?如果是这样,请在问题主体中包含完整的回溯。它是否提供了错误的结果?如果是,请描述给定输入的输出。另外,请确保您的代码格式正确。实际上,它至少有一个缩进错误。我想你忘了问这个问题了吧?另外,你对这个问题的说明仍然不清楚你想做什么。如果有什么问题,我们需要一个解决方案。