我目前有一个看起来像这样的列表:
[["'MILK','EGGS','BUTTER','CHEESE'"],["'MILK', 'BUTTER', 'EGGS'"],["'EGGS', 'BUTTER'"]]
我希望得到这样的结果:
[['MILK','EGGS','BUTTER','CHEESE'],['MILK', 'BUTTER', 'EGGS'],['EGGS', 'BUTTER']]
它是使用以下方法从单列数据帧创建的:
value_list = value_df.values.tolist()
我试图删除列表周围的双引号,但无济于事 - 我尝试使用以下方式访问子列表:
for sublist in value_list:
sublist[:] = [s.strip('"') for s in sublist]
但这似乎并没有影响那些前后引用的内容。
任何帮助将不胜感激!谢谢!
最佳答案
任何时候,当谈到从字符串中删除引号时,我都会想到 ast.literal_eval
。 lib 的诞生就是为了完成这项任务。
import ast
l = [["'MILK','EGGS','BUTTER','CHEESE'"],["'MILK', 'BUTTER', 'EGGS'"],["'EGGS', 'BUTTER'"]]
newL = [list(ast.literal_eval(i[0])) for i in l]
print(newL)
[['MILK', 'EGGS', 'BUTTER', 'CHEESE'],
['MILK', 'BUTTER', 'EGGS'],
['EGGS', 'BUTTER']]
关于python - 嵌套列表 - 从内部列表中删除引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57301949/