リストの比較
id:Yoshiori said
Python って list の中身が同じかどうか調べるのって何かやり方ある?? >>> a = [1, 2] >>> b = [2, 1] >>> a == b False これで True が返る方法
で、僕の返答:
>>> set([1, 2]) == set([2, 1]) True
同じものが複数個あってその個数で区別をしたい場合、つまり [1, 2]と[1, 2, 2]は別物とみなしたいって場合はsortedでできる
>>> set([1, 2, 1]) == set([2, 1, 2]) True >>> sorted([1, 2, 1]) == sorted([2, 1, 2]) False
まあ、でもそういう比較が頻繁に行われるんだとすると、リストってデータ構造で持っているのが合理的じゃない可能性も考えられるね。特にリストがでかい時には毎回setに変換したりソートしたりするコストが高いから。今回のはそれほどシビアな問題でもなさそうだけど。