2009-03-04 6 views

答えて

7

import urllib 
q = ['with space1', 'with space2'] 
qescaped = map(urllib.quote, q) 
0

今日では、リストの内包表記は、これを行うにはPython的な方法です:

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()をジェネレータの周りに置くだけでリストが作成されます。

関連する問題