首页 > Python str to list

Python str to list

读csv文件的时候读到这样的str:
[“item1”,“item2”,“item3”]
显然这是一个list
可是我该如何把它转化成list呢?
用list()的话 每个字符会被当成一个item
用切词的方法也应该可以 但会麻烦
但是有没有直接的方法呢?


可以使用 json 模块转换

input:

print i
import json
s = '["item1", "item2", "item3"]'
_list = json.loads(s)
print type(_list)
for i in _list:
    print i
    

output:

<type 'list'>
item1
item2
item3

使用 eval, 不過要小心他的風險:

In [1]: s = '["item1", "item2", "item3"]'

In [2]: lst = eval(s)

In [3]: lst
Out[3]: ['item1', 'item2', 'item3']

對於 Python 的 subset 進行求值, 使用 ast.literal_eval 是對的。

下面文章值得一讀:

Using python's eval() vs. ast.literal_eval()?


我回答過的問題: Python-QA


不用eval方案:
替换'[" 为 空
替换 "]' 为 空
替换 " 为空
在按,号切割成list


>>> import ast
>>> ast.literal_eval('["item1", "item2", "item3"]')
['item1', 'item2', 'item3']
【热门文章】
【热门文章】