[英]How to create a list from urls that was concatenated in a loop?
我的目標是將所有URL都放入列表中。 我在遍歷數字列表后將它們串聯起來,例如:
我編寫的代碼:
number_list = [1, 2, 3]
url_list = []
for i in number_list:
url_string_concat = 'www.example.url/=' + str(i)
url_list.append(url_string_concat)
print(url_list)
我期望輸出為:
url_list = ['www.example.url/=1', 'www.example.url/=2', 'www.example.url/=3']
但是,我得到的結果是:
['www.example.url/=1'] ['www.example.url/=1', 'www.example.url/=2'] ['www.example.url/=1', 'www.example.url/=2', 'www.example.url/=3']
我在這里缺少什么嗎?
因為您每次迭代都調用print
number_list = [1, 2, 3]
url_list = []
for i in number_list:
url_string_concat = 'www.example.url/=' + str(i)
url_list.append(url_string_concat)
print(url_list)
輸出
['www.example.url/=1', 'www.example.url/=2', 'www.example.url/=3']
或者您可以通過列表理解來簡化代碼:
url_list = ['www.example.url/={}'.format(i) for i in range(1, 4)]
輸出:
url_list
['www.example.url/=1', 'www.example.url/=2', 'www.example.url/=3']
您的print
語句在每次迭代中都會出現。 這也將在迭代結束時添加一條print語句-這是發生預期結果的地方:
number_list = [1, 2, 3]
url_list = []
for i in number_list:
url_string_concat = 'www.example.url/=' + str(i)
url_list.append(url_string_concat)
print("Running num %s ==> %s" % (i, url_list))
print ("Done ==> %s" % url_list)
然后您會得到:
Running num 1 ==> ['www.example.url/=1']
Running num 2 ==> ['www.example.url/=1', 'www.example.url/=2']
Running num 3 ==> ['www.example.url/=1', 'www.example.url/=2', 'www.example.url/=3']
Done ==> ['www.example.url/=1', 'www.example.url/=2', 'www.example.url/=3']
您的代碼還可以,該列表已正確連接,但是您在每次迭代時都將其打印出來,因此可以看到它的增長。 @frankegoesdown向您顯示了正確的代碼。 您還可以使用列表推導
url_list = ['www.example.url/=' + str(i) for i in range(1, 4)]
print(url_list)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.