我正在尝试根据年份列表创建链接列表,并将其存储在变量“ newlink”中。当我打电话给newlink时,我只会得到列表中的最后一年。除非我只是在for循环中打印(link + i)而不尝试将其存储在变量中。我知道这是基础,但是我找不到我想要的东西。
list = ["2019" , "2020"]
link = "http://link="
for i in list:
newlink = (link+i)
print(newlink)
http://link=2020
答案 0 :(得分:1)
如果我对您的理解正确,那么您要执行以下操作
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”,因为它是一个列表。
答案 1 :(得分:1)
“我正在尝试从年份列表中创建链接列表”
您正在做的是遍历年份并在每次迭代中覆盖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))
答案 2 :(得分:0)
您将在循环的每次迭代中覆盖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']
答案 3 :(得分:0)
您应将newlink定义为列表,并将修改后的值添加到列表中
list = ["2019" , "2020"]
link = "http://link="
newlink = []
for i in list:
newlink.append(link+i)
答案 4 :(得分:0)
您正在覆盖newlink变量,并且您还说需要链接列表。所以你需要这样做
newlink = [列表中i的链接+ i]
使用列表理解功能,您可以在一行中完成此操作。