我有这些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时给我错误的“畸形字符串”。
非常感谢!
答案 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']