我正熟悉Python。我从来没有做过任何编程或以前的事情,我真的很感激,如果有人会解释他的回答,而不仅仅是发布它,因为我想学习一些东西!更好的是不会发布回复,而只是提示我应该看什么或者其他东西:)
我有几个列表,其中一侧有很多值(数字)。 另一方面,我有一个URL,需要通过几个列表中的数字进行更新,然后保存到另一个列表中以便进一步处理。
#borders of the bbox
longmax = 15.418483 #longitude top right
longmin = 4.953142 #longitude top left
latmax = 54.869808 #latitude top
latmin = 47.236219 #latitude bottom
#longitude
longstep = longmax - longmin
longstepx = longstep / 100 #longitudal steps the model shall perfom
#latitude
latstep = latmax - longmin
latstepx = latstep / 100 #latitudal steps the model shall perform
#create list of steps through coordinates longitude
llong = []
while longmin < longmax:
longmin+=longstepx
llong.append(+longmin)
#create list of steps through coordinates latitude
llat = []
while latmin < latmax:
latmin+=latstepx
llat.append(+latmin)
#create the URLs and store in list
for i in (llong):
"https://api.flickr.com/services/rest/?method=flickr.photos.search&format=json&api_key=5....lback=1&page=X&per_page=500&bbox=i&accuracy=1&has_geo=1&extras=geo,tags,views,description",sep="")"
如您所见,我尝试从flickr向REST API发出请求。 我不明白的是:
任何提示?
答案 0 :(得分:0)
您可以使用string formatting在网址中插入您想要的内容:
my_list=["foo","bar","foobar"]
for word in my_list:
print ("www.google.com/{}".format(word))
www.google.com/foo
www.google.com/bar
www.google.com/foobar
{}
在您想要插入的字符串中使用。
要将它们保存到列表中,您可以使用zip
,使用字符串格式插入,然后附加到新列表。
urls=[]
for lat,lon in zip(llat,llong):
urls.append("www.google.com/{}{}".format(lat,lon))
Python string formatting: % vs. .format
我认为.format()
方法是首选方法,而不是使用"www.google.com/%s" % lat
语法。
答案here讨论了一些差异。
最好用一个例子解释zip函数:
假设我们有2个列表l1和l2:
l1 = [1,2,3]
l2 = [4,5,6]
如果我们使用zip(l1,l2)
,结果将为:
[(1, 4), (2, 5), (3, 6)]
然后当我们遍历两个压缩列表时,如下所示:
for ele_1,ele_2 in zip(l1,l2):
first iteration ele_1 = 1, ele_2 = 4
second iteration ele_1 = 2 ele_2 = 5 and so on ...
答案 1 :(得分:0)
myUrls=[]
for i in range len(llat) # len(llong) is valid if both have same size.
myUrls.append(newUrl(llat[i]),llong[i])
def newUrl(lat,long):
return "www.flickr.......lat="+lat+".....long="+long+"...."