Python - 列表矩阵列表的列切片

标签 python list slice

给定一个列表列表

a = [["a","b","c"],
     ["d","e","f"],
     ["g","h","i"]]

如何有效地获取单个列(例如 ["b","e","h"])或列的一部分(例如 ["e","h"])?不幸的是我不能切换到 numpy...

最佳答案

这是一种有效的方式:

import operator

def get_column(list_, n):
    return map(operator.itemgetter(n), list_)

然后您可以使用 list() 将输出转换为列表或切片对象。返回的对象在 Python 3 中是一个 map 对象(基本上是一个生成器),在 Python 2 中是一个新列表。

关于Python - 列表矩阵列表的列切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36217842/

相关文章:

Python:当特定值时如何创建第一行的新数据框

python - 将 6 个随机生成的数字与 csv 中的数据重复相乘

html - 如何在 Chrome 和 Opera 上修复这个水平列表?

python - 默认切片索引 *真的* 是什么?

json - 如何将 utf8 字符串转换为 []byte?

Python:尝试编写连接四的变体:获胜条件不会停止

python - 对于学习 Python,如果我使用 32 位或 64 位 Python 会有所不同吗?

java - 如何从我发送到 put(Object) 到 map 中的方法返回 List<String> (有示例)

python - 如何在Python中动态地将元组值保存到变量中?

loops - slice 范围的循环索引