Python从列表中创建链接

2024-05-19 12:04:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个年份列表中创建一个链接列表,存储在一个变量“newlink”中。当我打电话给newlink时,我只得到了列表中的最后一年。除非我只是在for循环中打印(link+I),而不尝试将其存储在变量中。我知道这是最基本的,但我找不到我缺少的东西


list = ["2019" , "2020"]

link  = "http://link="

for i in list:
     newlink = (link+i)

print(newlink)
http://link=2020


Tags: inhttp列表for链接linklistprint
3条回答

如果我理解正确,您希望执行以下操作

list = ["2019" , "2020"]
link  = "http://link="
newlinks = []
for i in list:
     newlinks.append(link+i)
print(newlinks)

['http://link=2019','http://link=2020']

注意:我将变量名“newlink”改为“newlinks”,因为它是一个列表

"I am trying to create a list of links, from a list of years"

您所做的是在这些年中循环并覆盖newlink每个迭代,因此在循环之后它只保留最后的link + year。您需要按照说明将这些结果存储到列表中

这可以通过多种方式实现,尽管我建议使用列表理解(也考虑使用更多描述性变量名而不使用任何内置名称)

years = ["2019" , "2020"]
link  = "http://link="

new_links = [link + year for year in years]

或者,您可以在理解中使用str.format,甚至可以将其与map结合使用

years = ["2019" , "2020"]
make_link  = "http://link={}".format

new_links = [make_link(year) for year in years]
#or
new_links = list(map(make_link, years))

在循环的每次迭代中,您都会覆盖newlink。相反,创建一个链接列表并将其填充到循环中

尝试:

years = ["2019" , "2020"]

link  = "http://link="
links = []
for i in years:
     links.append(link+i)

print(links) # output: ['http://link=2019', 'http://link=2020']

相关问题 更多 >

    热门问题