簡體   English   中英

在Python中迭代打印兩種數據類型

[英]Iterative printing over two data types in Python

我經常瀏覽網上免費提供的藝術品。 實際上,我想不出更好地利用互聯網,而不是把它變成一個巨大的藝術畫廊。 當我遇到一組我很喜歡的作品時,我將它們全部下載到我的硬盤上。 wget讓那么容易,尤其是在與Python的組合print功能,我用這一切的時候做出的網址然后我的列表wget 假設我需要在“art”目錄中下載從art0到art100的jpeg列表,我告訴python

for i in range(0,101):
    print "http://somegallery/somedirectory/art", i

所以,這可能是一個相當簡單的Python操作,並且在查找和替換后刪除空格,這只是使用wget -i ,但在我知道任何Python之前的幾天我會盲目地右鍵單擊並且救。

現在我收到了來自紐約Fredericks&Freiser畫廊的一堆文件,這些文件都是(1-14),b(1-14),c(1-14)等,直到字母g。 我可以在7次做到這一點,這比我寫這個問題花費的時間少。

也就是說,我想加深我對Python的了解。 因此,給定字母ag,如何打印每個字母到整數1-14的映射?

for i in ['a','b','c','d','e','f','g']:
    for j in range(1,15):
        url = BASE_URL + i + str(j)
        print url

那是你在找什么?

嘗試這個:

['{0}{1}'.format(letter, number + 1) for letter in 'abcdefg'
                                     for number in range(14)]
['http://somegallery/somedirectory/art/%s%s\n' % (chr(ordinal), number) for ordinal in range(ord('a'), ord('g')+1) for number in range(1, 15)]

你實際上並不需要Python。 假設您使用bash作為shell(其他shell中存在類似的機制),您可以使用大括號擴展:

wget http://somegallery/somedirectory/art{a..g}{1..15}

暫無
暫無

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

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