Chu*_*han 2 python arrays matrix
我真的很喜欢编程,所以我很抱歉这是一个非常简单的问题,但我一直试图在矩阵中打印第一列而不使用numpy,但它打印如下:
matrix = \
[[0, 1],
[3, 7],
[9, 4],
[10, 3]]
print matrix[0:3][0]
[0, 1]
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
print matrix[:][0]
[0, 1]
print matrix[:3]
[[0, 1], [3, 7], [9, 4]]
print matrix[:3][0]
[[0, 1], [3, 7], [9, 4]]
Run Code Online (Sandbox Code Playgroud)
我想要达到的答案是:
print matrix[code]
0, 3, 9, 10
Run Code Online (Sandbox Code Playgroud)
或类似的.
你拥有的是一个列表列表 - 所以那里没有列的概念.有两种方法可以做到这一点,一种是(正如Pavel Anossov的答案所示)是使用列表理解.
一种是使用zip()可用于转置迭代的:
>>> list(zip(*matrix))
[(0, 3, 9, 10), (1, 7, 4, 3)]
Run Code Online (Sandbox Code Playgroud)
我在这里列出了一个列表,以便更容易显示输出.注意在2.x中,zip()给出一个列表而不是一个迭代器(尽管可以使用一个惰性版本itertools.izip()).
一般来说,zip()如果您计划使用多个列,我会使用,如果您只需要一个列,则使用列表理解.
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |