在二维数组上进行迭代时,如何获取当前行索引?例如:
x = [[ 1. 2. 3. 4.]
[ 5. 6. 7. 8.]
[ 9. 0. 3. 6.]]
类似的东西:
for rows in x:
print x current index (for example, when iterating on [ 5. 6. 7. 8.], return 1)
答案 0 :(得分:0)
In [42]: x = [[ 1, 2, 3, 4],
...: [ 5, 6, 7, 8],
...: [ 9, 0, 3, 6]]
In [43]: for index, rows in enumerate(x):
...: print('current index {}'.format(index))
...: print('current row {}'.format(rows))
...:
current index 0
current row [1, 2, 3, 4]
current index 1
current row [5, 6, 7, 8]
current index 2
current row [9, 0, 3, 6]
答案 1 :(得分:0)
枚举是Python的内置函数。它的用处不能总结为一行。然而,大多数新手甚至一些高级程序员都没有意识到这一点。它允许我们循环某些东西并拥有一个自动计数器。这是一个例子:
for counter, value in enumerate(some_list):
print(counter, value)
还有更多! enumerate还接受一个可选参数,使其更有用。
my_list = ['apple', 'banana', 'grapes', 'pear']
for c, value in enumerate(my_list, 1):
print(c, value)
# Output:
# 1 apple
# 2 banana
# 3 grapes
# 4 pear
可选参数允许我们告诉枚举从哪里开始索引。您还可以使用列表创建包含索引和列表项的元组。这是一个例子:
my_list = ['apple', 'banana', 'grapes', 'pear']
counter_list = list(enumerate(my_list, 1))
print(counter_list)
# Output: [(1, 'apple'), (2, 'banana'), (3, 'grapes'), (4, 'pear')]