2017-04-16 17 views
-1

リストはa = ['L'、 'N'、 'D']です。私はaの要素の順序を逆にして、b = ['D'、 'N'、 'L']としたい。私はこの試みた:リストを逆順に並べ替え

a = ['L', 'N', 'D'] 
b = sorted(a, reverse=True) 

をしかし、私はミスをしない場合は出力が

b= ['N', 'L', 'D'] 

のですか?

+0

'sorted'があなたを注文する組み込み関数であります'str'要素をアルファベット順のアルゴリズムで置き換えてください。あなたのカーネルで 'help(sorted)'を使って詳細を見てください。 – Feishi

答えて

7

あなたの間違いはsortedを使用しています。これは要素の順序でリストを並べ替え、要素の場所を無視します。代わりに

b = a[::-1] 

逆順でリストaを実行します。あなたも使用できます

b = list(reversed(a)) 

最初のバージョンは高速ですが、

2

また、所定の位置に逆転することができます

>>> a = ['L', 'N', 'D'] 

>>> a.reverse() 

>>> a 
['D', 'N', 'L'] 

をしかし、(リターン)新しいものを作成しません、それはリストを変更しますのでご注意ください。

0

初めての場合はほぼ間違いありませんでした。あなたは(ソートを使用したい場合は

#This will sort the list temporarily into reverse alphabetical order. 
print(sorted(a, reverse=True) 

#This will sort the list temporarily into reverse order. 
print(sorted(a, reverse=False) 
0

)、あなたはインデックスが並べ替えるための鍵であることを指定することができます:これを試してみてください

b = sorted(a, key=a.index, reverse=True) 
関連する問題