0

以下のような配列の配列があります。

[[0, 3], [0, 4, 1, 5], [0, 2]]
[[0, 4, 1, 5], [0, 3], [0, 2]]
[[0, 2], [0, 4, 1, 5], [0, 3]]

[[0, 4, 1, 5, 3], [0, 2]]
[[0, 4, 1, 5, 3, 2]]

最初の 3 つの例を見ると、それらは同じ配列であり、順序が異なるだけです。

いつでもそのような AoA を 2 つ比較して、それらが同じかどうかを判断する必要があります。

それを行う最速の方法は何ですか? 配列自体は小さいですが、このチェックを頻繁に行う必要があります。

4

2 に答える 2

0

1 つの方法は、2 つの配列をフラット化して比較することです。このような:

list1 = [[0, 3], [0, 4, 1, 5], [0, 2]]

list2 = [[0, 4, 1, 5], [0, 3], [0, 2]]

def flat(ls): [サブリストの val の ls のサブリストの val] を返す

セット (フラット (リスト 1)) == セット (フラット (リスト 2))

于 2017-11-09T00:07:18.573 に答える