将列表转换为字符串的简单方法,仍然格式化为列表

时间:2016-08-12 19:50:14

标签: python string list type-conversion

这应该很简单,但我找不到简单的解决方案。坦率地说,这应该是一个班轮。

在Python 3中,如何转换列表,例如

['hello','world']

到格式完全相同的字符串,例如

"['hello','world']"

我不想把它分成两个字。

// This is bad.
"hello world"

我想保留传统的列表格式。我最初认为你可以将列表绑定为类似(str)list_name的字符串,但显然不是。对此没有简单的功能吗?

编辑:

我感谢AChampion这是一个简单的语法错误。我试图将列表绑定到这样的字符串:

//this is bad
(str)list_name

当我本应该这样写的时候

//this is good
str(list_name)

这给了我正是我想要的东西。感谢您的帮助和抱歉,我不得不在这里提出这样的初学者问题。还是习惯了Python。

3 个答案:

答案 0 :(得分:1)

只是简单地说:

lst = ['hello', 'world']
new_str = str(lst)
print(new_str) # prints out ["hello", "world"]

Python不会只是将字符串转换为字符串格式,除非您明确告诉它。像这样:

lst = ['hello', 'world']
str1 = str(''.join(lst))
print(str1)# prints 'helloworld'

或者如果你想要一个功能:

def listToString(lst):
    new_lst = str(lst)
    return new_lst

虽然该函数更像是一个包装器。我只是直接使用python bulitin str()转换列表,而不是尝试将它放在包装函数中。

答案 1 :(得分:1)

列表str()repr()表单都是您要求的,假设它是一个简单字符串列表。
如果您有一个更复杂的结构并希望将(序列化)转换为字符串形式并返回到对象表单,您可能需要查看json模块:

>>> import json
>>> json.dumps(['hello','world'])
'["hello", "world"]'

答案 2 :(得分:0)

简短的回答是:你不能完全按照你的要求去做。

您不能获取在Python中键入的任何列表,并获取具有完全相同的原始格式的字符串。 Python对列表中的间距非常宽松,因此您可以构建列表:

  1. ['hello', 'world']
  2. ['hello','world']
  3. [ 'hello', 'world' ]
  4. [ 'hello', 'world' ]
  5. 当Python将这些列表创建为列表时,它不会保留有关您如何编写它的信息。所以,没有办法让它回来。

    如果您只想要一个字符串化列表,您应该使用json.dumps