私は同じフォーマット 'Name%Department%Age'に従う文字列で構成されたリストを持っています。異なる部分によって4つの部分に分割された文字列のリストを並べ替えますか?
年齢、名前、部署別にリストを注文したいと思います。
['Sarah%English%50, 'John%English%31', 'George%Maths%30', 'John%English%30, 'John%Maths%30']
私は私が欲しいものを発見した最も近いが、(ここで見つける:How to sort a list by Number then Letter in python?)以下の通りです:出力しまう仕分けした後
alist = ['John%Maths%30', 'Sarah%English%50', 'John%English%30', 'John%English%31', 'George%Maths%30']
import re
def sorter(s):
match = re.search('([a-zA-Z]*)(\d+)', s)
return int(match.group(2)), match.group(1)
sorted(alist, key=sorter)
Out[13]: ['1', 'A1', '2', '3', '12', 'A12', 'B12', '17', 'A17', '25', '29', '122']
これは、しかし、唯一の私のレイアウトをソートアルファベット順に入力します。
ありがとうございます。
ありがとうございます。