簡體   English   中英

列表不打印所有元素?

[英]List not printing all elements?

我很困惑。 我有一個清單:

url1 = 'https://example.tumblr.com/page/'
for num in range(1,5):
    url = url1 + str(num)
    url_list=url.split(',')
    print(url_list)

與 output:

['https://example.tumblr.com/page/1']
['https://example.tumblr.com/page/2']
['https://example.tumblr.com/page/3']
['https://example.tumblr.com/page/4']

但是當我稍后再次調用這個url_listprint(url_list)時,我只會得到這個:

['https://example.tumblr.com/page/4']

我試圖循環並在每個頁面上執行一些操作,但是當我調用列表時它只返回最后一個元素,我不知道如何解決這個問題。 我已經從列表中解析了這個問題,它既不適用也不解決我的問題。 請幫忙

您的url_list不是列表列表。 它將僅包含 url 和當前迭代的 num。 將您的代碼更改為:-

url1 = 'https://example.tumblr.com/page/'
url_list = []
for num in range(1,5):
    url = url1 + str(num)
    url = url.split(',')
    url_list.append(url)
    print(url)
print(url_list)

您沒有實現列表/數組,您只是將“url”作為 for 循環中的最后一個迭代方法,即“ https://example.tumblr.com/page/4 ”。

首先,將 url 聲明為列表:

urlList = []

然后你應該改變你的 for 循環,如下所示:

for num in range(1,5):
    url = url1 + str(num)
    urlList.append(url)

print(urlList)

使其成為 append 您對原始 url 列表進行的每個新迭代,然后將其完全打印

您會注意到您實際上打印了 4 個列表,每個列表都有一個條目,而不是一個列表有 4 個條目。 這是因為你是:

  1. 制作一個名為“url”的新變量;
  2. 創建一個名為“url_list”的新變量,然后將其設置為 url.split(','),這將創建一個僅包含最新 URL 的新列表; 除了將 url 放入列表之外,拆分沒有做任何事情。

您想將 append 添加到預先存在的列表中,如下所示:

url1 = 'https://example.tumblr.com/page/'
url_list = []
for num in range(1,5):
    url = url1 + str(num)
    url_list.append(url)
print(url_list)

試試這個,它會工作

url1 = 'https://example.tumblr.com/page/'
urls = []
for num in range(1,5):
    url = url1 + str(num)
    urls.append(url)
print(urls)

你的 'url_list' 是一個變量,一個變量只包含最后一個賦值。 因此,您必須聲明一個列表,然后將 append 項目放入其中。

您使用的是哪個 python 版本? 如果使用 2.7 更改

print(urls)

print urls

最初將 url 轉入列表。 然后按照:

url_ = 'https://example.tumblr.com/page/'
urls = []
for num in range(1,5):
    url = url_ + str(num)
    url.append(url_)
print(urls)
print(url_)

有用...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM