将不同的列表数据类型连接到字符串中

Sem*_*aki 2 python string join list

我需要将列表的元素连接成一个字符串(到目前为止看起来很简单).

但是,此列表包含一些字符串,其他元素是数字.

我想要实现的是一个字符串,其中仍然引用原始字符串,但数字不是:

例:

mystring = ['text field', 24, 'text2', 55.45]
Run Code Online (Sandbox Code Playgroud)

预期的输出(这实际上是一个字符串,为了清楚起见,我删除了开头和结尾的引号,简单的引号必须是字符串的一部分!):

'text field', 24, 'text2', 55.45
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试了什么:

>>> ', '.join(mystring)
Run Code Online (Sandbox Code Playgroud)

然后解释器抱怨int:

TypeError: sequence item 1: expected string, int found
Run Code Online (Sandbox Code Playgroud)

如果我尝试将所有内容映射到字符串,那么我会错过字符串的引号.

>>> ', '.join(map(str,a))

'text field, 24, text2, 55.45'
Run Code Online (Sandbox Code Playgroud)

当然,我可以将原始列表修改为:

mylist2 = ["'text field'", 24, "'text2'", 55.45]
Run Code Online (Sandbox Code Playgroud)

然后它工作,但我真的想保留我的原始列表,并达到预期的结果.

有什么建议?

Dan*_*iel 5

用途repr:

>>> mystring = ['text field', 24, 'text2', 55.45]
>>> ', '.join(map(repr, mystring))
"'text field', 24, 'text2', 55.45"
Run Code Online (Sandbox Code Playgroud)