aia*_*iao 5 python list multidimensional-array python-2.7
给定data
为
data = [ [0, 1], [2,3] ]
Run Code Online (Sandbox Code Playgroud)
我想索引列表列表中列表中的所有第一个元素。即我需要索引0
和2
。
我试过了
print data[:][0]
Run Code Online (Sandbox Code Playgroud)
但它输出完整的第一个列表。即
[0,1]
Run Code Online (Sandbox Code Playgroud)
甚至
print data[0][:]
Run Code Online (Sandbox Code Playgroud)
产生相同的结果。
我的问题具体是如何完成我所提到的。更一般地说,python 如何处理双重/嵌套列表?
使用列表理解:
>>> data = [[0, 1], [2,3]]
>>> [lst[0] for lst in data]
[0, 2]
>>> [first for first, second in data]
[0, 2]
Run Code Online (Sandbox Code Playgroud)
使用map
:
>>> map(lambda lst: lst[0], data)
[0, 2]
Run Code Online (Sandbox Code Playgroud)
>>> import operator
>>> map(operator.itemgetter(0), data)
[0, 2]
Run Code Online (Sandbox Code Playgroud)
使用zip
:
>>> zip(*data)[0]
(0, 2)
Run Code Online (Sandbox Code Playgroud)
对于这类事情,我通常建议numpy
:
>>> data = np.array([ [0, 1], [2,3] ])
>>> data[:,0]
array([0, 2])
Run Code Online (Sandbox Code Playgroud)
至于 python 在你的情况下如何处理它:
data[:][0]
Run Code Online (Sandbox Code Playgroud)
复制整个列表,然后获取第一个元素(即第一个子列表)。
data[0][:]
Run Code Online (Sandbox Code Playgroud)
获取第一个子列表,然后复制它。
归档时间: |
|
查看次数: |
2238 次 |
最近记录: |