Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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 str.join()能否将其参数强制为字符串?_Python_String_Type Conversion_Concatenation - Fatal编程技术网

Python str.join()能否将其参数强制为字符串?

Python str.join()能否将其参数强制为字符串?,python,string,type-conversion,concatenation,Python,String,Type Conversion,Concatenation,这是我想做的事的记录。它目前在Python 2.7和3.4中都失败: >>> a = [3,4,5] >>> ','.join(a) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: sequence item 0: expected string, int found 我的问题是,是否有任何东西阻止我们增强Pytho

这是我想做的事的记录。它目前在Python 2.7和3.4中都失败:

>>> a = [3,4,5]
>>> ','.join(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found

我的问题是,是否有任何东西阻止我们增强Python以支持非字符串可重用项上的
str.join()
(只要它们可以转换为字符串,例如通过
str()
)?我找了一份关于这方面的PEP,但没有找到任何。

实际上,关于
python思想和
python开发
这个主题,现在有很多讨论

考虑到每个对象都是可压缩的,我认为我们不想这样做 给str.join…赋予“str(x)for x in”语义


所以,这个想法似乎会有一些阻力。如果你有兴趣讨论它的话,。在过去的几周里,有大量关于改进字符串连接的邮件。

我不认为使用
map
或列表理解是多么笨拙。我想,如果有一个函数自动连接,会更加笨拙将对象转换为字符串。毕竟,Python更喜欢显式操作而不是隐式操作。请参阅“有什么东西阻止我们增强Python吗?”?”“没有。继续修改Python的本地版本,不管你想要什么:-)@JohnZwinck:;通过对它的明确说明,您可以检测到您无意传入非字符串对象的bug。这是Python想法列表中的内容,语言作者Guido van Rossum拒绝了这个想法。@chepner不是一个好主意,请参见示例,这是重复出现的主题。圭多以前拒绝过它;这里有一个例子。@MartijnPieters是的,似乎很多人对连接的正确方式有着非常热情的意见。
>>> ','.join(map(str, a))
'3,4,5'