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

poo*_*kie 2 python tuples list

我有一个元组列表:

tups = [('a',5,'test'),('b', 8, 'test1')]
Run Code Online (Sandbox Code Playgroud)

对于每个元组,我需要在索引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'
Run Code Online (Sandbox Code Playgroud)

我怎么能用Python 3做到这一点?我看过Pandas有一个DataFrame类型,但理想情况下我想这样做而不使用另一个库(除了numpy或本地python).

cs9*_*s95 5

使用operator:

In [250]: import operator

In [252]: f = lambda l, i: list(map(operator.itemgetter(i), l))
Run Code Online (Sandbox Code Playgroud)
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']
Run Code Online (Sandbox Code Playgroud)

如果您正在使用python2,请删除list(...).