python - Python - 删除二维列表中的列
问题描述
我有一个 2D list = [[1, 8, 3], [4, 5, 6], [0, 5, 7]]
,我想在循环中删除列。
例如,索引为 0(first) 和 2(last) 的列 - - 删除后的结果应该是:[8, 5, 5]
. 有一个问题,因为当我删除第0列时,列表的大小减小到(0,1),并且第2个索引超出范围。在没有超出范围问题的情况下,在循环中删除列的最快方法是什么?
为了更好的图片:
[[1, 8, 3],
[4, 5, 6],
[0, 5, 7]]
解决方案
除了遍历所有列表项并删除这些索引值之外,python 中没有这样的快捷方式。
但是,您可以使用用于其他目的但可以完成任务的 pandas。
import pandas as pd
s = [[1, 8, 3], [4, 5, 6], [0, 5, 7]]
df = pd.DataFrame(s,columns=['val1','val2','val3'])
li = df.drop('val1',axis=1).values.tolist()
现在李看起来像这样
[[8, 3], [5, 6], [5, 7]]
推荐阅读
- html - 格式标题 ng-database/ng-template
- sql - Oracle 对象关系 - 如何在 PLSQL 中获取 REF(SELF)
- node.js - 在 Azure 中运行全栈 Web 应用程序时出现错误(POST 500 Internal Server Error)
- c# - 在 WebView2 中触发 onbeforeunload
- r - GAM 中的张量平滑预测极值
- java - 如何使用 java 将 Int8Array 保存到本地文件
- node.js - Mongoose Populate 返回 ObjectID 而不是内容
- android - 如何在 Glide 监听器中获取 http responseCode?
- excel - 如何检查值是否包含单元格范围内的值
- handlebars.js - 车把内更复杂的“If”条件