Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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中的另外两个列表创建字符串列表?_Python - Fatal编程技术网

如何从Python中的另外两个列表创建字符串列表?

如何从Python中的另外两个列表创建字符串列表?,python,Python,我试图创建一个字符串列表,其中每个元素看起来像“tempu”。年份(本例中为1996年)来自年份列表,类型(本例中为U)来自字符串列表。我希望列表中包含年份和类型的所有组合 要获得一份仅用一年的列表,我知道我可以做到: years = range(1990,2000) type_c = ["U", "R", "K", "B"] temp_list = map('TEMP{0}'.format, years) 我可以用类似的方式将类型c添加到此列表中吗 from itertools import

我试图创建一个字符串列表,其中每个元素看起来像“tempu”。年份(本例中为1996年)来自年份列表,类型(本例中为U)来自字符串列表。我希望列表中包含年份和类型的所有组合

要获得一份仅用一年的列表,我知道我可以做到:

years = range(1990,2000)
type_c = ["U", "R", "K", "B"]
temp_list = map('TEMP{0}'.format, years)
我可以用类似的方式将类型c添加到此列表中吗

from itertools import product, starmap

years = range(1990, 2000)
type_c = ["U", "R", "K", "B"]
temp_list = list(starmap('TEMP{0}_{1}'.format, product(years, type_c)))
print(temp_list)
输出:

['TEMP1990_U', 'TEMP1990_R', 'TEMP1990_K', 'TEMP1990_B', 'TEMP1991_U', 'TEMP1991_R', 'TEMP1991_K', 'TEMP1991_B',
 'TEMP1992_U', 'TEMP1992_R', 'TEMP1992_K', 'TEMP1992_B', 'TEMP1993_U', 'TEMP1993_R', 'TEMP1993_K', 'TEMP1993_B',
 'TEMP1994_U', 'TEMP1994_R', 'TEMP1994_K', 'TEMP1994_B', 'TEMP1995_U', 'TEMP1995_R', 'TEMP1995_K', 'TEMP1995_B',
 'TEMP1996_U', 'TEMP1996_R', 'TEMP1996_K', 'TEMP1996_B', 'TEMP1997_U', 'TEMP1997_R', 'TEMP1997_K', 'TEMP1997_B',
 'TEMP1998_U', 'TEMP1998_R', 'TEMP1998_K', 'TEMP1998_B', 'TEMP1999_U', 'TEMP1999_R', 'TEMP1999_K', 'TEMP1999_B']
输出:

['TEMP1990_U', 'TEMP1990_R', 'TEMP1990_K', 'TEMP1990_B', 'TEMP1991_U', 'TEMP1991_R', 'TEMP1991_K', 'TEMP1991_B',
 'TEMP1992_U', 'TEMP1992_R', 'TEMP1992_K', 'TEMP1992_B', 'TEMP1993_U', 'TEMP1993_R', 'TEMP1993_K', 'TEMP1993_B',
 'TEMP1994_U', 'TEMP1994_R', 'TEMP1994_K', 'TEMP1994_B', 'TEMP1995_U', 'TEMP1995_R', 'TEMP1995_K', 'TEMP1995_B',
 'TEMP1996_U', 'TEMP1996_R', 'TEMP1996_K', 'TEMP1996_B', 'TEMP1997_U', 'TEMP1997_R', 'TEMP1997_K', 'TEMP1997_B',
 'TEMP1998_U', 'TEMP1998_R', 'TEMP1998_K', 'TEMP1998_B', 'TEMP1999_U', 'TEMP1999_R', 'TEMP1999_K', 'TEMP1999_B']
第二种方法(除了Alex Hall的答案外)可以是:

years = range(1990,2000)
type_c = ["U", "R", "K", "B"]

temp_list = []
for i in years:
    for j in type_c:
        temp_list.append("TEMP%s_%s" % (i,j))
第二种方法(除了Alex Hall的答案外)可以是:

years = range(1990,2000)
type_c = ["U", "R", "K", "B"]

temp_list = []
for i in years:
    for j in type_c:
        temp_list.append("TEMP%s_%s" % (i,j))
您可以为此任务使用:

temp_list = ['TEMP{0}_{1}'.format(y, t) for y in years for t in type_c]
这是非常清楚和直接的。这就是python真正闪耀的地方:简单的事情简单地完成

years = range(1990,2000)
type_c = ["U", "R", "K", "B"]
temp_list = ['TEMP{0}_{1}'.format(y, t) for y in years for t in type_c]
print (temp_list)
您可以为此任务使用:

temp_list = ['TEMP{0}_{1}'.format(y, t) for y in years for t in type_c]
这是非常清楚和直接的。这就是python真正闪耀的地方:简单的事情简单地完成

years = range(1990,2000)
type_c = ["U", "R", "K", "B"]
temp_list = ['TEMP{0}_{1}'.format(y, t) for y in years for t in type_c]
print (temp_list)

非常感谢。这正是我想要的。谢谢!这正是我想要的。老实说,这比我的版本更具可读性,我只是想给出一些类似于OP在问题中的内容。但我会使用列表理解和更清晰的变量名。使用列表comp和f字符串,我觉得这看起来更好,
[f'TEMP{year}{typ}表示年份,表示类型c中的typ]
完全同意。我同意所有这些评论。我只是在Alex Hall的回答中添加了第二种方法来做同样的事情。老实说,这比我的版本更具可读性,我只是想给出一些类似于OP在问题中的内容。但我会使用列表理解和更清晰的变量名。使用列表comp和f字符串,我觉得这看起来更好,
[f'TEMP{year}{typ}表示年份,表示类型c中的typ]
完全同意。我同意所有这些评论。我只是在Alex Hall的回答中添加了第二种方法来做同样的事情。