2016-04-30 3 views
2

Я пытаюсь использовать urllib.parse.urlencode() для генерации закодированного URL-адреса для запроса получения. Для этого мне нужно использовать urllib.parse.urlencode() со списком 2-кортежей. Мне нужно создать динамический список, поскольку запрос получения основан на введенных местоположениях. Это для запроса api get mapquest. Я создал динамический список и список из 2-х кортежей с помощью zip(), но urllib.parse.urlencode() не работает в списке из 2-х кортежей. Пожалуйста, дайте мне знать, что я делаю неправильно, или если есть другой способ сделать это. Спасибо.Использование urllib.parse.urlencode() в python zip() list of 2-tuple

import urllib.parse 

add = '' 
tolist=[] 
newlist = [] 
locations = ['austin, tx', 'dallas, tx', 'denver, co', 'houston, tx','irving, tx', '3'] 
for item in range(2,len(locations)-1): 
    tolist.append('to') 
    newlist.append(locations[item]) 

print(locations[0]) 
print('tolist', tolist) 
print('newlist', newlist) 
zipped=zip(tolist, newlist) 

add = add + urllib.parse.urlencode(zipped) 

print() 
parselist=[('to', 'denver, co'),('to', 'houston, tx'),('to', 'irving, tx')] 
add = add + urllib.parse.urlencode(parselist) #this works 
print('add', add) 

Привет, извините, я нашел проблему, и я получил ее сейчас. Большое спасибо.

ответ

1

Изменить

##add = add + urllib.parse.urlencode(ziplist) #this does not work

To:

add = add + urllib.parse.urlencode(list(zipped)) `

+0

Привет, что было прокомментировано на цели, так как он не работает. – Lynn