【问题标题】:Remove row brackets after appending lists [duplicate]附加列表后删除行括号[重复]
【发布时间】:2018-09-09 12:17:39
【问题描述】:

我有一个列表如下:

My_list=[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]]

这样:

a=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

b=[2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]

然后我将它们添加如下

My_list.append(a)
My_list.append(b)

我想把它改成:

 My_list=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]

如何删除 a 和 b 括号?

【问题讨论】:

    标签: python arrays python-3.x list append


    【解决方案1】:
    a=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
    b=[2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]
    

    Python 2.7

    new_list = a + b
    

    Python 3.6

    new_list = [*a,*b]
    

    【讨论】:

      【解决方案2】:

      试试

      My_list = a[:]
      My_list.extends(b) 
      

      【讨论】:

        【解决方案3】:

        使用itertools

        例如:

        from itertools import chain
        My_list=[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]]
        print(list(chain(*My_list)))
        

        输出

        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]
        

        【讨论】:

          【解决方案4】:

          尝试使用extend

          My_list = []
          
          a=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
          b=[2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]
          
          My_list.extend(a)
          My_list.extend(b)
          
          My_list
          #[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]
          

          否则你可以展平已经创建的list

          My_list = [i for sublist in My_list for i in sublist]
          

          【讨论】:

            猜你喜欢
            • 2023-02-06
            • 1970-01-01
            • 2020-06-12
            • 2020-08-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多