我有:
N = 0-29之间的数字列表
A =所有字母的列表。
我想将它们组合起来以获取从0a0到29z29的所有“ NAN”排列
然后,我想使用这些“ NAN”排列中的每个排列并将它们放入URL中,这样我就可以获得类似 “ http://www.geo.ma/NAN.txt”
import string
import itertools
#Generate the letter list
Alist=list(string.ascii_lowercase)
#Generate the number list
Nlist=list(range(30))
#Combine them in order to get "ABA"
CombinedList=(list((itertools.product(Nlist, Alist, Nlist))))
print(CombinedList)
我有了列表,但是现在我尝试在URL内获取排列:
for i in CombinedList:
print('http://www.geo.ma/', i)
但是我明白了
http://www.geo.ma/ (29, z, 29)
而不是我想要得到的:
http://geo.ma/29z29.txt
如果在尝试使用StringedList = str(CombinedList)
生成URL之前尝试将List转换为字符串,那么python只会使用每个字符来生成URL,因此我会得到http://geo.ma/].txt
,{ {1}},http://geo.ma/9.txt
,http://geo.ma/z.txt
,http://geo.ma/).txt
等。
答案 0 :(得分:2)
baseURL = "http://www.geo.ma/"
for pair in CombinedList:
N1, A, N2 = pair
print(f"{baseURL}{N1}{A}{N2}.txt")
答案 1 :(得分:2)
使用.join()
for i in CombinedList:
print('http://www.geo.ma/{}'.format(''.join(map(str,i))))
输出:
...
http://www.geo.ma/29z22
http://www.geo.ma/29z23
http://www.geo.ma/29z24
http://www.geo.ma/29z25
http://www.geo.ma/29z26
http://www.geo.ma/29z27
http://www.geo.ma/29z28
http://www.geo.ma/29z29
答案 2 :(得分:0)
for i in CombinedList:
print('http://www.geo.ma/'+str(i[0])+i[1]+str(i[2])+'.txt')
输出为
http://www.geo.ma/0a0.txt
http://www.geo.ma/0a1.txt
http://www.geo.ma/0a2.txt
http://www.geo.ma/0a3.txt
http://www.geo.ma/0a4.txt
http://www.geo.ma/0a5.txt
http://www.geo.ma/0a6.txt
http://www.geo.ma/0a7.txt
http://www.geo.ma/0a8.txt
...