【问题标题】:Element wise concat with two list of lists in Python元素明智的连接与Python中的两个列表列表
【发布时间】:2020-05-08 08:10:03
【问题描述】:

我有 2 个列表:

a = [['Apple'], ['Banana']]
b = [[1,2,3,4], [4,5,6]]

我怎样才能明智地连接为字符串元素并获得一个新的列表列表,如下所示:

new_list = [['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]

最好的问候。

【问题讨论】:

    标签: python python-3.x list concatenation


    【解决方案1】:

    您可以使用 2 个for 循环:

    new_list = []
    for [item], numbers in zip(a, b):
        item_list = []
        for n in numbers:
            item_list.append(f'{item}{n}')
        new_list.append(item_list)
    
    new_list
    

    输出:

    [['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]
    

    或者你可以使用列表推导:

    [[f'{item}{n}' for n in numbers] for [item], numbers in zip(a, b)]
    

    【讨论】:

      【解决方案2】:

      这对你有帮助吗?

      a = [['Apple'], ['Banana']]
      b = [[1,2,3,4], [4,5,6]]
      print([
          [c + str(d) for d in j for c in i] for i, j in zip(a, b)
      ])
      

      输出:

      [['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]
      

      【讨论】:

        【解决方案3】:

        一个没有itertools

        [["%s%s" % (i[0], n) for n in j] for i,j in zip(a,b)]
        

        输出:

        [['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]
        

        【讨论】:

          【解决方案4】:

          使用itertools.cycle

          例如:

          from itertools import cycle
          
          a = [['Apple'], ['Banana']] 
          b = [[1,2,3,4], [4,5,6]]
          
          result = [[m+str(n) for m, n in zip(cycle(i), j) ] for i,j in zip(a, b)]
          print(result)
          

          输出:

          [['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]
          

          【讨论】:

            猜你喜欢
            • 2019-10-22
            • 2017-04-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-11-28
            • 2013-11-02
            相关资源
            最近更新 更多