将 unicode 列表转换为列表

0 投票
1 回答
613 浏览
提问于 2025-04-17 22:27

我遇到了一个问题。

在Python中,我有一个列表。这个列表里面又包含了其他列表。不过,这些列表是unicode格式的,所以看起来像字符串。

实际上,我有这样的东西:

[u'[7,6,5,4,3, 1]', u'[.......]', ...]

你知道有什么简单的方法可以把它转换成

[[...],[...], ...] ? 

我尝试过处理这些字符串,但这并不是个简单的方法……

谢谢你的帮助!:-)

1 个回答

2

可以使用 ast.literal_eval 配合 map 或者列表推导式来处理数据:

>>> from ast import literal_eval
>>> lis = [u'[7,6,5,4,3, 1]', u'[4, 5, 6]']
>>> map(literal_eval, lis)
[[7, 6, 5, 4, 3, 1], [4, 5, 6]]
>>> [literal_eval(x) for x in lis]
[[7, 6, 5, 4, 3, 1], [4, 5, 6]]

撰写回答