リストをURL文字列に解析します
-
09-10-2019 - |
質問
Commas( '%2c')で区切られたURL文字列に追加したいタグのリストがあります。これどうやってするの ?やってみた :
>>> tags_list
['tag1', ' tag2']
>>> parse_string = "http://www.google.pl/search?q=%s&restofurl" % (lambda x: "%s," %x for x in tags_list)
しかし、ジェネレーターを受け取りました:
>>> parse_string
'http://<generator object <genexpr> at 0x02751F58>'
また、コンマを変更する必要がありますか %2C
?結果を解析するには、給餌する必要があります。はいの場合 - この特別なサインで区切られたタグを挿入するにはどうすればよいですか?
編集:
parse_string = ""
for x in tags_list:
parse_string += "%s," % x
しかし、私はこれを逃れることができます %2C
?また、私はより短い「ラムダ」の方法があると確信しています:)
解決
parse_string = ("http://www.google.pl/search?q=%s&restofurl" %
'%2C'.join(tag.strip() for tag in tags_list))
結果:
>>> parse_string = ("http://www.google.pl/search?q=%s&restofurl" %
... '%2C'.join(tag.strip() for tag in tags_list))
>>> parse_string
'http://www.google.pl/search?q=tag1%2Ctag2&restofurl'
サイドノート:
今後、あなたが使いたいと思います format()
文字列補間の場合、例:
>>> parse_string = "http://www.google.pl/search?q={0}&restofurl".format(
... '%2C'.join(tag.strip() for tag in tags_list))
>>> parse_string
'http://www.google.pl/search?q=tag1%2Ctag2&restofurl'
他のヒント
"%s"
大丈夫ですが、 urlparse.urlunparse
後 urllib.urlencode
安全です。
str.join
大丈夫ですが、タグをコンマと番号の標識を確認するか、使用することを忘れないでください urllib.quote
それぞれに。
所属していません StackOverflow