Python 将列表解析为url字符串
我有一个要添加到url字符串的标记列表,以逗号“%2C”分隔。我该怎么做?我试着:Python 将列表解析为url字符串,python,parsing,url,lambda,url-parsing,Python,Parsing,Url,Lambda,Url Parsing,我有一个要添加到url字符串的标记列表,以逗号“%2C”分隔。我该怎么做?我试着: >>> 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://&
>>> 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吗?此外,我非常确定有一种较短的“lambda”方式:
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'
旁注:
展望未来,我认为您希望使用字符串插值,例如:
>>> 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'
结果:
>>> 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'
旁注:
展望未来,我认为您希望使用字符串插值,例如:
>>> 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可以,但urllib.urlencode之后的URLPASRE.URLUUNPASSE更安全
str.join可以,但请记住检查标记中的逗号和数字符号,或者在每个标记上使用urllib.quote。%s可以,但urllib.urlencode之后的urlparse.urlunsase更安全
str.join可以,但是记住检查标签上的逗号和数字符号,或者在每一行上都使用urllib.quote。我喜欢那些python一行程序:有时它们是唯一能让我度过这一天的东西我喜欢那些python一行程序:有时它们是唯一能让我度过这一天的东西那么最终的解决方案是什么呢?那么最终的解决方案是什么呢?