如何将字符串和列表的unicode组合到python列表

时间:2017-02-23 10:10:23

标签: python list unicode

我有这些unicodes:

uni_list = u'["","aa","bb","cc"]

我还有以下unicodes:

uni_str = u'dd'

我需要将它们组合到一个列表中,并删除null,所需的结果将如下:

["aa","bb","cc","dd"]

但是我不知道它什么时候会是uni_list,或者是uni_str因为我正在读取一个分割这些结果的json文件,是否有一个统一的解决方案来转换它们并将它们组合成一个python列表或设置? / p>

我尝试使用ast.literal_eval,它似乎只处理uni_list,但是当它是uni_str时给我错误的“畸形字符串”。

enter image description here

非常感谢!

1 个答案:

答案 0 :(得分:4)

您可以使用ast.literal_eval将字符串转换为列表:

>>> import ast
>>> my_unicode = u'["","aa","bb","cc"]'

# convert string to list
>>> my_list = ast.literal_eval(my_unicode)
>>> my_list
['', 'aa', 'bb', 'cc']

# Filter empty string from list
>>> new_list = [i for i in my_list if i]
>>> new_list
['aa', 'bb', 'cc']

# append `"dd"` string to the list
>>> new_list.append("dd")  # OR, `str(u"dd")` if `"dd"` is unicode string
>>> new_list
['aa', 'bb', 'cc', 'dd']