18
Pythonで2つのリストが循環的に同一かどうかを確認する方法
たとえば、私はリストがあります: a[0] = [1, 1, 1, 0, 0] a[1] = [1, 1, 0, 0, 1] a[2] = [0, 1, 1, 1, 0] # and so on それらは異なっているように見えますが、開始と終了が接続されていると想定されている場合、それらは循環的に同一です。 問題は、私が持っている各リストの長さが55で、1つが3つ、0が52個しかないことです。循環条件がない場合、26,235(55選択3)リストがあります。ただし、「循環」という条件が存在する場合、循環的に同一のリストが多数あります。 現在、私は次のように循環的にアイデンティティをチェックしています: def is_dup(a, b): for i in range(len(a)): if a == list(numpy.roll(b, i)): # shift b circularly by i return True return …