python 二维数组元素返回二维坐标_python – 从二维数组中返回生成器而不是位置列表...
我昨天正在進行一場游戲,我必須遍歷一個二維陣列并找到標記為“d”的任何單元格的位置(其中單元格表示為“ – ”表示空白,“d”表示為臟).
我使用兩個for循環(huán)做到了這一點:
def find_dirty_cells(board):
dirty_cells = []
for enum, row in enumerate(board):
for enumrow, cell in enumerate(row):
if cell == 'd':
dirty_cells.append((enum, enumrow))
return dirty_cells
但后來我認為構(gòu)建一個生成器對象并返回它可能會更好,所以我寫了這個:
def find_dirty_cells(board):
return ((enum, enumrow) for enumrow, cell in enumerate(row) for enum, row in enumerate(board) if cell == 'd')
但第二個給出了不正確的數(shù)據(jù)響應(yīng)(即,它沒有找到’d’單元格).必須有一些簡單的東西,我忽略了第二個不等于第一個,但我看不到它.我試圖解決的真正問題是:有一種簡單的方法讓我的第一次嘗試返回發(fā)電機嗎?
總結(jié)
以上是生活随笔為你收集整理的python 二维数组元素返回二维坐标_python – 从二维数组中返回生成器而不是位置列表...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: firefox 接受post 不完整_面
- 下一篇: dim private public s