python - 嵌套列表 - 从内部列表中删除引用

标签 python pandas

我目前有一个看起来像这样的列表:

[["'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/

相关文章:

python - GDAL Python 创建轮廓线

python - Pandas 中的 block 自举采样

python - 安装 rpy2 返回错误

python - 如何使用GPIO按钮切换音频播放?

python - 向 pandas 数据框添加新列以指示特定列中的重复项

python - Pandas 部分加入多索引

Python/Pandas Dataframe - 当 0 时将小数精度替换为 int 值,否则四舍五入到 n 位小数

python - 如何访问多级 pandas 数据框中的特定值

Python 绘制数据(配置文件)

python - 如何使用 OpenCV 在 Python 中将单个 BGR 数组转换为 HSV 数组?