2017-05-03 21 views
4

リストをソートしたいが、最初の要素を除いてソートしたい。例えばPythonのリストを2番目の要素から並べ替える

a = ['T', 4, 2, 1, 3] 

は、今私は、リストを並べ替えることがしたいが、最初の要素がその場所に滞在する必要があります。

a = ['T', 1, 2, 3, 4] 

私は、これはソートアルゴリズムを使用して行うことができます知っていますそれを行うには1行の方法がありますかもっとpythonicこれを行う方法ですか?

答えて

3

あなたはaのソートスライスにaのスライスを置き換えるスライスの割り当てによってそうすることができます:あなたは、それをスライス末尾のスライスをソートし、その後、それを連結することができ

>>> a = ['T',4,2,1,3] 
>>> a[1:] = sorted(a[1:]) 
>>> a 
['T', 1, 2, 3, 4] 
+2

スライスへの割り当てを説明できますか? –

+0

@PeterWood私はそれを説明する行を追加しました。OPは自分自身で用語を検索して、それを非常に詳細に説明する答えを見つけることができます。 – shash678

3

>>> a = a[:1] + sorted(a[1:]) 
>>> a 
['T', 1, 2, 3, 4] 
関連する問題