这应该很简单,但我找不到简单的解决方案。坦率地说,这应该是一个班轮。
在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。
答案 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对列表中的间距非常宽松,因此您可以构建列表:
['hello', 'world']
['hello','world']
[ 'hello', 'world' ]
[ 'hello', 'world' ]
当Python将这些列表创建为列表时,它不会保留有关您如何编写它的信息。所以,没有办法让它回来。
如果您只想要一个字符串化列表,您应该使用json.dumps。