我有这些 unicodes:
uni_list = u'["","aa","bb","cc"]
我还有以下 unicode:
uni_str = u'dd'
我需要将它们组合成一个列表,并去掉空值,期望的结果如下:
["aa","bb","cc","dd"]
但我不知道什么时候它会是 uni_list 或 uni_str,因为我正在读取一个拆分这些结果的 json 文件,是否有统一的解决方案来转换它们并将它们组合到 python 列表或集合中?
我尝试使用 ast.literal_eval,它似乎只处理 uni_list,但当它是 uni_str 时给我错误“格式错误的字符串”。
非常感谢!
最佳答案
您可以使用 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']
关于python - 如何将字符串和列表的unicode组合到python列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42412654/