誰かがこのコードが正確に何を意味するのか説明してもらえますか?
for i,j in [(i,j) for i in range(len(rows)-2,-1,-1) for (j) in range(i+1)]:
行と呼ばれる配列がある場合。iとjには何が割り当てられますか?
私は配列のn番目のインデックスになると思いますが、jについてはよくわかりません。i + 1だけでしょうか?
誰かがこのコードが正確に何を意味するのか説明してもらえますか?
for i,j in [(i,j) for i in range(len(rows)-2,-1,-1) for (j) in range(i+1)]:
行と呼ばれる配列がある場合。iとjには何が割り当てられますか?
私は配列のn番目のインデックスになると思いますが、jについてはよくわかりません。i + 1だけでしょうか?
[(i,j) for i in range(len(rows)-2,-1,-1) for (j) in range(i+1)]
と同じです:
result = []
# from len(rows)-2 to 0, decrementing by one each time
for i in range(len(rows)-2,-1,-1):
# from 0 to i
for j in range(i+1):
result.append((i, j))
シーケンスの積として機能します。
>>> [(i, j) for i in [1, 2] for j in ['a', 'b']]
[(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')]
これは次のようになります。
from itertools import product
print [(i, j) for i, j in product(list1, list2)]