我们有一个清单:
myList = [1, "two"]
想要打印出来,通常我会使用类似的东西:
"{0} and {1}".format(*myList)
但你也可以这样做:
" and ".join(myList)
但不幸的是:
>>> " and ".join(myList)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found
为什么它不自动将收到的列表转换为字符串?
您什么时候不需要它将它们转换为字符串?我是否缺少一些微小的边缘情况?
来自Python之禅 http://www.python.org/dev/peps/pep-0020/:
显式优于隐式。
and
错误永远不应该悄无声息地过去。
隐式转换为字符串可以很容易地隐藏错误,我真的很想知道我是否突然在某个地方有不同的类型本来应该是字符串。
如果您想显式转换为字符串,可以使用map()
, 例如:
''.join(map(str, myList))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)