まず、これは動作しないコードです:numpy配列を含むタプルのリストをソートするには?
ls = [(1.0,np.array([3.0, 4.0])), (1.0,np.array([3.0, 4.1])), (3.0,np.array([2.0, 1.0]))]
ls.sort()
あなたが見ることができるように、私はタプル(ls
)のリストを持っています。各タプルの最初の要素は浮動小数点数です。私はls.sort()
でリストをソートしようとします。ほとんどの場合、正常に動作します。しかし、時には(上記の例のように)、最初の要素と同じ値のタプルがあります。この場合、Pythonはタプルの2番目の要素を使用してタプルをソートしようとしますが、タプルの2番目の場所ではnumpy配列があるため動作しません。
タプルの2番目の要素を無視してリストをソートするにはどうすればよいですか?最初の要素が同じであれば、順序は気にしません(元の順序、またはランダムにすることができます)。