私はPythonでリストをソートしようとしていますが、同じタームに文字と数字の両方が含まれています。それは正確に数字を並べ替えていないということである文字列でソートを使用しての問題点:Pythonの数字と文字の組み合わせリストの並べ替え
2
23
3
など
list = [("a", ['8', '0']), ("a", ['7', '0b']), ("a", ['7', '0']), ("a", ['6', '0b']), ("a", ['6', '01']]
new_list = sorted(list, key=lambda i: i[1])
# works great on ints.
文字が同数、すなわちとしてソートする必要があります
したがってa = 1, b = 2, c = 3, d = 4 etc
4.1a
== 4.11
しかし、私はトンを必要としますo出力に文字を保存し、intに変換するだけではありません。何か案は?ここで
を示してきている。
私は、これは何が必要であるかどうかわからないんだけど? – thefourtheye
'i [1]'を文字列に変換し、 'a'を' 1'、 'b'を' 2'などに置き換えてfloatに変換した文字列を返し、キー? – nekomatic
上記は完璧に聞こえます。それをやり遂げる方法を試してみよう(私は先進的なPythonには新しくなった)。 –