1

カンマ('%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か?結果を解析するためにfeedpaarserに必要です。はいの場合-この特別な記号で区切ってこれらのタグを挿入するにはどうすればよいですか?


編集:

parse_string = ""
for x in tags_list:
    parse_string += "%s," % x

しかし、私はこれを逃れることができ%2Cますか?また、私はより短い「ラムダ」の方法があるとかなり確信しています:)

4

2 に答える 2

4
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'
于 2010-10-21T05:06:53.377 に答える
1

"%s"大丈夫ですが、urlparse.urlunparse後のurllib.urlencode方が安全です。

str.joinは問題ありませんが、タグのコンマと数字記号を確認するか、urllib.quoteそれぞれに使用することを忘れないでください。

于 2010-10-21T08:13:27.183 に答える