这是我想要做的事情的成绩单。它目前在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
这很有效,但是很笨拙且可能效率低下:
>>> ','.join(map(str, a))
'3,4,5'
我的问题是,是否有任何事情阻止我们在非字符串迭代中增强Python以支持str.join()
(只要它们可以转换为字符串,例如str()
)?我找了一个关于此的PEP,但没找到。
答案 0 :(得分:2)
目前正在python-ideas
和python-dev
围绕此主题进行相当多的讨论。 Here's a related comment from a Python core dev from 8/13:
鉴于每个物体都是可以攻击的,我不认为我们想要 给&#34; str(x)for x in&#34;语义为str.join ...&#34;。
所以,似乎会对这个想法产生一些阻力。如果您有兴趣讨论它,subscribe to python-ideas。在过去的几周里,与改进字符串连接相关的邮件是吨。