lay*_*ces 5 python arrays multidimensional-array python-2.7
说我有:
H = [array(a), array(b), array(c)...]
a = [[1,2,3,4,5,6],
[11,22,33,44,55,66], #row 1 of H[0]
[111,222,333,444,555,666]]
b = [[7,8,9,0,1,2],
[77,88,99,00,11,22],
[777,888,999,000,111,222]]
c = ...
Run Code Online (Sandbox Code Playgroud)
我想访问 H[0] 的第 1 行,然后继续访问 H[1] 中的行,依此类推。
我的问题:
1) 如何调用 H[0] 的第 1 行?
2) 那么,在遍历 H[0] 中的所有行后,我如何使循环运行到 H[1]?
我知道我需要类似的东西
for i in range(len(H)):
do stuff to rows until the last row in H[i]
move onto H[i+1]
do same stuff
stop when (criteria here reached)
Run Code Online (Sandbox Code Playgroud)
感谢所有帮助。谢谢你。
编辑:我现在知道我可以访问它,H[0][1]但我实际上需要数组每一行中的第 0 列值。所以,我需要11从H[0][1]. 我该怎么做呢?
H = [a, b, c]
Run Code Online (Sandbox Code Playgroud)
正确的?如果是这样,那么回答:
1)
H[0][1] # 0 - "a" array; 1 - row with index 1 in "a"
Run Code Online (Sandbox Code Playgroud)
2)
for arr in H: # for array in H: a,b,c,...
for row in arr: # for row in current array
# do stuff here
Run Code Online (Sandbox Code Playgroud)
更新:
另一个示例显示了遍历数组、数组的行和元素:
a = [[1, 2],
[3, 4]]
b = [[5, 6],
[7, 8]]
H = [a, b]
for arr_i, arr in enumerate(H):
print('array {}'.format(arr_i))
for row_i, row in enumerate(arr):
print('\trow {}'.format(row_i))
for el in row:
print('\t{}'.format(el))
Run Code Online (Sandbox Code Playgroud)
输出:
array 0
row 0
1
2
row 1
3
4
array 1
row 0
5
6
row 1
7
8
Run Code Online (Sandbox Code Playgroud)