2016-12-07 2 views
-3

私はpythonで新しく、私はPythonのリストをソートするためにいくつかの助けが必要です。 私のコードは、このいずれかになります。リストから大きな値を小さな値にソートする方法

with open ("datos.txt", "r") as myfile: 
data=myfile.read().replace('\n', '') 
print(sorted(data)) 

私はこのリスト持っている:

data = ['1', '3', '5', '2'] 

をし、私はこのようなソート表示させたいと思います:

['5', '3', '2', '1'] 

答えて

1

使用sorted

sorted(data, reverse=True) 
# ['5', '3', '2', '1'] 
0
ありがとう

これは可能です。

print sorted(data,reverse=True) 

Sortedの参照。 reverse

0

アプローチはreversed()sorted()を使用することになります。

rs_data = reversed(sorted(data)) 

出力は次のようになります。

>>> for item in rs_data: 
...  print item 
... 
5 
3 
2 
1 

または、あなたがしたい場合は結果をリストで取得する:

>>> rs_data = reversed(sorted(data)) 
>>> list(rs_data) 
['5', '3', '2', '1'] 
+0

'reverseed'を' sorted() 'に渡すほうがずっと効率的です –

+0

私はそれが単なるアプローチだと言いました;) – ettanany

1

sortedのiterableを受け付けOBJのようなファイルが、そうしている:

with open ('datos.txt') as myfile: 
    data = sorted(myfile, key=int, reverse=True) 
    print(data) 

これは、あなたが行の整数値ではなく、テキスト表現でソートしたいと仮定しています。

関連する問題