2024-09-30 16:19:44 发布
网友
我有两个python列表:
name = ['Beijing'] alphabet = ['a', 'b', 'c']
我需要将字母表中的每个元素添加到名称中的元素,以便输出为:
new_name = ['Beijinga', 'Beijingb', 'Beijingc']
有人能帮我吗
您可以在下面的示例中进行尝试
import string name = 'Beijing' new_nam = [name + item for item in string.ascii_lowercase]
输出:
['Beijinga', 'Beijingb', 'Beijingc', 'Beijingd', 'Beijinge', 'Beijingf', 'Beijingg', 'Beijingh', 'Beijingi', 'Beijingj', 'Beijingk', 'Beijingl', 'Beijingm', 'Beijingn', 'Beijingo', 'Beijingp', 'Beijingq', 'Beijingr', 'Beijings', 'Beijingt', 'Beijingu', 'Beijingv', 'Beijingw', 'Beijingx', 'Beijingy', 'Beijingz']
在您的示例中,您只有一个名称。 假设您将拥有多个名称,我有一个解决方案(它也适用于单个名称)—
name = ['Beijing','QWERTY'] alphabet = ['a', 'b', 'c'] new_lst = [] for j in name: for i in alphabet: new_lst.append(j+i)
结果:
['Beijinga', 'Beijingb', 'Beijingc', 'QWERTYa', 'QWERTYb', 'QWERTYc']
或者,您可以使用更好、更简单的list comprehension-
new_lst = [j+i for j in name for i in alphabet] print(new_lst)
如果您有两个任意大小的列表,可以使用itertools.product()非常轻松地执行此操作:
itertools.product()
>>> import itertools >>> name = ['Beijing'] >>> alphabet = ['a', 'b', 'c'] >>> new_name = list(map(''.join, itertools.product(name, alphabet))) >>> new_name ['Beijinga', 'Beijingb', 'Beijingc']
您可以在下面的示例中进行尝试
输出:
在您的示例中,您只有一个名称。 假设您将拥有多个名称,我有一个解决方案(它也适用于单个名称)—
结果:
或者,您可以使用更好、更简单的list comprehension-
如果您有两个任意大小的列表,可以使用
itertools.product()
非常轻松地执行此操作:相关问题 更多 >
编程相关推荐