在Python中,是否有一种方法可以对列表进行URL编码而不使用变量名称?例如:
q=['with space1', 'with space2']
转换为:
qescaped=['with%20space1', 'with%20space2']
在Python中,是否有一种方法可以对列表进行URL编码而不使用变量名称?例如:
q=['with space1', 'with space2']
转换为:
qescaped=['with%20space1', 'with%20space2']
import urllib
q = ['with space1', 'with space2']
qescaped = map(urllib.quote, q)
现在,列表推导式是Pythonic的做法:
q = [ 'with space1', 'with space2' ]
qescaped = [ urllib.quote(u) for u in q ]
qescapedGenerator = (urllib.quote(u) for u in q)
(这样可以节省内存,并且在您不需要所有元素的情况下,也可以节省计算时间。)
许多接收器也可以处理生成器:
urlsInLines = '\n'.join(urllib.quote(u) for u in q)
for escapedUrl in (urllib.quote(u) for u in q):
print escapedUrl
list()
即可创建列表。