python - 如何将元组列表转换为矩阵以进行列访问?

标签 python list tuples

我有一个元组列表:

tups = [('a',5,'test'),('b', 8, 'test1')]

对于每个元组,我需要提取索引 i 处的值。

显然,我可以遍历列表中的每个元组,获取我想要的值并将其弹出到数组中......但是,我认为应该有更好的方法。

理想情况下,我想将我的元组列表转换为矩阵或 DataFrame(或类似的东西),我可以在其中提取列作为数组。

例如,使用上面的元组列表,我想做如下事情:

matrix = tups.AsMatrix(ncols=len(tups[0])) #All tups have the same number of values.
column_values = matrix[0]
print(column_values)
> 'a'
> 'b'

如何使用 Python 3 执行此操作?我已经看到 Pandas 有一个 DataFrame 类型,但理想情况下我想在不使用其他库(numpy 或 native python 除外)的情况下执行此操作。

最佳答案

使用运算符:

In [250]: import operator

In [252]: f = lambda l, i: list(map(operator.itemgetter(i), l))

In [253]: f(tups, 0)
Out[253]: ['a', 'b']

In [254]: f(tups, 1)
Out[254]: [5, 8]

In [255]: f(tups, 2)
Out[255]: ['test', 'test1']

如果您使用的是 python2,请删除 list(...)

关于python - 如何将元组列表转换为矩阵以进行列访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45236622/

相关文章:

python - Python + Qt 组合能否产生实时频谱分析工具?

python - POST请求中的django ModelForms和正常形式

java - 如何洗牌一个ArrayList

python - 在 Python 中使用递归元组的 Pascal 三角形

python - django-haystack 教程中模型的哪些字段被索引?

python - 如何在 PyInstaller 中指定 .spec 文件

android ListView getItemAtPosition() 正在返回原始数据

java - 无法从其他类(线程)的 Vector 获取元素

python - 如何在 django 模板中迭代元组索引

c++ - boost 元组部分迭代?