2016-04-23 5 views
0

でリストをソートするには、ドット.Pythonの:どのように私は特定の文字の数に基づいて文字列のリストを注文プログラムを記述しようとしています特定の文字のカウント

['C222.', 'C4444', 'C22..', 'C333.', 'C2222']でどのように私のリストですインポートされたが、私は、このようにそれらを配置する必要がありますされています

['C2222', 'C4444', 'C333.', 'C222.', 'C22..'] 

私は、彼らが事前にドット

感謝の数が同じ場合は項目の並べ替え方法を気にしません!

答えて

6

あなたは指定された文字の数を確認する重要な機能でsorted()を使用することができます。

>>> lst = ['C222.', 'C4444', 'C22..', 'C333.', 'C2222'] 
>>> sorted(lst, key=lambda t: t.count(".")) 
['C4444', 'C2222', 'C222.', 'C333.', 'C22..'] 
+0

パーフェクト。どうもありがとう。 – goodX

+0

ああ、最善のアプローチは、私は主要なドキュメントを見ていきます! –

1

numpyと別のアプローチ:

np.array(ll)[np.argsort([i.count('.') for i in ll])].tolist() 
#['C4444', 'C2222', 'C222.', 'C333.', 'C22..'] 
関連する問題