【问题标题】:How do i append from one list to each item in another list [duplicate]我如何从一个列表附加到另一个列表中的每个项目[重复]
【发布时间】:2020-01-01 19:31:27
【问题描述】:

我是 python 新手,正在尝试通过附加列表中的每个项目来从其他 2 个列表创建一个新列表。

for number in num:

    for names in name:

        print(number+names)


num = [1,2,3,4,5]

name = ['Tom','Bob','Dave']

new_desired_list = [1Tom,1Bob,1Dave,2Tom,2Bob,2Data,3Tom,3Bob,3Dave..etc]

【问题讨论】:

标签: python python-3.x list


【解决方案1】:

似乎您想要两个列表的笛卡尔积。为此,您有itertools.product。为了加入字符串,您可以使用字符串格式:

from itertools import product

[f'{i}{j}' for i,j in product(num, name)]
# ['{}{}'.format(i,j) for i,j in product(num, name)] # for Python 3.6< 
# ['1Tom', '1Bob', '1Dave', '2Tom', '2Bob'...

【讨论】:

    【解决方案2】:

    您可以尝试附加一个列表;)

    l = []
    
    numbers = [1,2,3,4,5]
    
    names = ['Tom','Bob','Dave']
    
    for number in numbers:
        for name in names:
            l.append(str(number) + str(name))
    
    print(l)
    

    【讨论】:

      【解决方案3】:

      使用列表理解:

      new_list = [str(i)+x for i in num for x in name]
      

      例子:

      >>> num = [1,2,3,4,5]
      >>> name = ['Tom','Bob','Dave']
      >>> 
      >>> new_list = [str(i)+x for i in num for x in name]
      >>> new_list
      ['1Tom', '1Bob', '1Dave', '2Tom', '2Bob', '2Dave', '3Tom', '3Bob', '3Dave', '4Tom', '4Bob', '4Dave', '5Tom', '5Bob', '5Dave']
      >>> 
      

      【讨论】:

        猜你喜欢
        • 2021-03-17
        • 2018-02-12
        • 2021-12-22
        • 1970-01-01
        • 2015-06-04
        • 1970-01-01
        • 2021-03-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多