创建一个string + range的列表



我需要你的帮助:

我想创建一个列表,看起来像这样的['Unnamed: 16', 'Unnamed: 17', 'Unnamed:18']的范围(16,60)。我该如何继续?

我不知道我的问题是否清楚,但它就像做list(range(16, 60),但在每个数字之前有一个字符串。

非常感谢您的帮助!

您可以使用f-strings来完成此操作:

my_list = [f"Unnamed: {i}" for i in range(16, 60)]
# Output
['Unnamed: 16', 'Unnamed: 17', 'Unnamed: 18', 'Unnamed: 19', ...]

我会这样做

prefix = "Unnamed: "
lst = [prefix + str(i) for i in range(16,25)]
print(lst)

输出
['Unnamed: 16', 'Unnamed: 17', 'Unnamed: 18', 'Unnamed: 19', 'Unnamed: 20', 'Unnamed: 21', 'Unnamed: 22', 'Unnamed: 23', 'Unnamed: 24']

注意:为了简洁起见,我使用了其他范围。您可以选择使用字符串格式化方法之一。

可以使用map as,

list(map(lambda x: f'Unnamed: {x}', range(16, 60)))

可以使用f字符串

name = 'Unamed:'
list = [f"{prefix} {i}" for i in range(16, 60)]
print(list)
my_list = []
for i in range(16, 60):
my_list.append("Unnamed: " + str(i))
print(my_list)