1
我從leetcode的討論部分看到了代碼。我真的不明白循環結束時逗號的含義。循環結尾的逗號意味着什麼
def wallsAndGates(self, rooms):
q = [(i, j) for i, row in enumerate(rooms) for j, r in enumerate(row) if not r]
for i, j in q:
for I, J in (i+1, j), (i-1, j), (i, j+1), (i, j-1):
if 0 <= I < len(rooms) and 0 <= J < len(rooms[0]) and rooms[I][J] > 2**30:
rooms[I][J] = rooms[i][j] + 1
q += (I, J),
它使一個元組包含一個元組...你有沒有嘗試在repl上檢查自己?無論如何,這似乎是一個糟糕的做法'q.append((I,J))' –
如果我沒有錯,無效,因爲你不能連接一個元組和列表。 –
@COLDSPEED否它不是無效的,因爲它有效。實際上它似乎與'+ ='右側的任何迭代器一起工作。 – Gribouillis