Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表解析为url字符串_Python_Parsing_Url_Lambda_Url Parsing - Fatal编程技术网

Python 将列表解析为url字符串

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://&

我有一个要添加到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://<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一行程序:有时它们是唯一能让我度过这一天的东西那么最终的解决方案是什么呢?那么最终的解决方案是什么呢?