use*_*774 3 python loops list multidimensional-array
如何计算在这个2d列表中"点击"的项目数?
grid = [['hit','miss','miss','hit','miss'],
['miss','miss','hit','hit','miss'],
['miss','miss','miss','hit','hit'],
['miss','miss','miss','hit','miss'],
['hit','miss','miss','miss','miss']]
battleships = 0
for i in grid:
if i == "hit":
battleships = battleships + 1
print battleships
Run Code Online (Sandbox Code Playgroud)
我知道代码是错误的,但它让我知道我想做什么我希望?
谢谢
fal*_*tru 11
用途list.count
:
>>> ['hit','miss','miss','hit','miss'].count('hit')
2
>>> grid = [['hit','miss','miss','hit','miss'],
... ['miss','miss','hit','hit','miss'],
... ['miss','miss','miss','hit','hit'],
... ['miss','miss','miss','hit','miss'],
... ['hit','miss','miss','miss','miss']]
>>> [row.count('hit') for row in grid]
[2, 2, 2, 1, 1]
Run Code Online (Sandbox Code Playgroud)
而且sum
:
>>> sum(row.count('hit') for row in grid)
8
Run Code Online (Sandbox Code Playgroud)