我需要将一个列表的元素连接成一个字符串(到目前为止看起来很简单)。
但是这个列表有一些元素是字符串,其他元素是数字。
我想要实现的是一个字符串,其中原始字符串仍然被引用但数字不是:
例子:
mystring = ['text field', 24, 'text2', 55.45]
预期输出(这实际上是一个字符串,为了清晰起见,我删除了开始和结束引号,简单的引号必须是字符串的一部分!):
'text field', 24, 'text2', 55.45
到目前为止我尝试了什么:
>>> ', '.join(mystring)
然后解释器提示 int:
TypeError: sequence item 1: expected string, int found
如果我尝试将所有内容映射到字符串,那么我会错过字符串的引号。
>>> ', '.join(map(str,a))
'text field, 24, text2, 55.45'
当然,我可以修改我的原始列表,使其看起来像:
mylist2 = ["'text field'", 24, "'text2'", 55.45]
然后它起作用了,但我真的想保留我的原始列表并达到预期的结果。
有什么建议吗?
最佳答案
使用repr
:
>>> mystring = ['text field', 24, 'text2', 55.45]
>>> ', '.join(map(repr, mystring))
"'text field', 24, 'text2', 55.45"
关于python - 将不同的列表数据类型连接成字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41610954/