リストのリストが与えられた場合:
>>> n=4
>>> LoL=[range(n) for i in range(n)]
>>> LoL
[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]
このようにN x N行列を保証することは、容易に明らかで、理解しやすく、Pythonicでもありますか?
>>> len(LoL) == n and {len(l) for l in LoL} == {n}
True
したがって、次のように使用されます。
if len(matrix) != 4 or {len(l) for l in matrix} != {4}:
raise ValueError
より良い代替イディオムはありますか、それとも理解できますか?