不均一な値に従ってリストを並べ替える

Abhishek dot py

私はライブラリのスクリプトを作成しています。このスクリプトは、著者を平均評価の降順で並べ替えます。

以下は私のリストです:(著者名+ <スペース> +平均評価があります)

['Michael Crichton 4.71', 'J.K. Rowling 4.36', 'Sidney Sheldon 4.63', 'Narendra Kohli 4.9', 'Jeffrey Archer 4.62', 'Devdutt Pattanaik 4.42', 'George R.R. Martin 5.0', 'Dan Brown 5.0', 'Katherine Applegate 3.0', 'Eoin Colfer 4.25', 'Arthur Conan Doyle 5.0', 'Clive Cussler 4.66', 'Stephen King 3.66', 'Douglas Preston 5.0']

以下は私が試したものです:(値をスペースで分割し、新しいリストに追加してから、3番目の値(評価)で並べ替えました。

for line in rate_order:
    sort_list.append(line.split(' '))
print sorted(sort_list, key=itemgetter(2))

問題は、一部の作成者名の名前に3つのスペースが含まれているため、3番目の値が評価ではないことです。より良い(またはよりクリーンな)方法はありますか?

スティーブン・ルンバルスキー

使用する rsplit

>>> help(''.rsplit)
Help on built-in function rsplit:

rsplit(...)
    S.rsplit([sep [,maxsplit]]) -> list of strings

    Return a list of the words in the string S, using sep as the
    delimiter string, starting at the end of the string and working
    to the front.  If maxsplit is given, at most maxsplit splits are
    done. If sep is not specified or is None, any whitespace string
    is a separator.

>>> 'George R.R. Martin 5.0'.rsplit(' ', 1)
['George R.R. Martin', '5.0']

分割の最後の項目を取得する別の方法は、-1のインデックスを使用することです。

>>> 'George R.R. Martin 5.0'.split()[-1]
'5.0'

リストが呼び出されたauthor_ratings場合は、次のようにしてその場で並べ替えることができます

author_ratings.sort(key=(lambda(s): float(s.rsplit(' ', 1)[1])), reverse=True)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

長さが不均一な別のリストに従ってリストを並べ替える

分類Dev

PHP:値のリストに従って多次元配列を並べ替える

分類Dev

Pythonで配列値に従ってリストを並べ替える方法は?

分類Dev

階層に従ってリストを並べ替える

分類Dev

リストのインデックス値を別のリスト値に従って並べ替える

分類Dev

別のリストに従ってリストを並べ替える

分類Dev

00:00形式で時間に従ってリストを並べ替え/並べ替える方法は?

分類Dev

Pythonで値の最初の文字に従ってリスト値を並べ替える方法

分類Dev

ネストされたdictの値に従ってリストを並べ替える

分類Dev

IDに従ってリストビューを並べ替える方法

分類Dev

Python要素の内容に従ってリストの順序を並べ替える

分類Dev

特定の基準に従ってリストを並べ替える方法

分類Dev

新しい位置のリストに従って列を並べ替える方法

分類Dev

Ansibleの特定の値に従ってdictを並べ替える

分類Dev

値に従って連想配列を並べ替える

分類Dev

不均一なフィールドを持つ行を並べ替える

分類Dev

一次行列に従って行列を並べ替える

分類Dev

R内の別のリストの順序に従ってリストを並べ替える

分類Dev

特定の列に従ってPythonでリストのリストを並べ替える

分類Dev

別のリストに従ってリストを並べ替える方法は?Python

分類Dev

Python:2つの属性に従ってリストを並べ替えます

分類Dev

selectステートメントに従って行を並べ替える方法

分類Dev

不均一な辞書をキーで並べ替えてCSVを作成する方法

分類Dev

Bashの文字列のリストを、特定の部分文字列に従って数値で並べ替えます

分類Dev

Pythonのカスタムアルファベットに従って文字列値を並べ替える

分類Dev

jqueryとハンドルバーの日付に従ってリストタグを並べ替える

分類Dev

PythonとOpenCV:2つの基準に従って輪郭のリストを並べ替える

分類Dev

パンダの列の1つに一致する、リストに従ってデータフレームを並べ替える

分類Dev

値のカスタム並べ替えを定義し、その並べ替えに従って配列から最大値と最小値を取得する-PHP

Related 関連記事

  1. 1

    長さが不均一な別のリストに従ってリストを並べ替える

  2. 2

    PHP:値のリストに従って多次元配列を並べ替える

  3. 3

    Pythonで配列値に従ってリストを並べ替える方法は?

  4. 4

    階層に従ってリストを並べ替える

  5. 5

    リストのインデックス値を別のリスト値に従って並べ替える

  6. 6

    別のリストに従ってリストを並べ替える

  7. 7

    00:00形式で時間に従ってリストを並べ替え/並べ替える方法は?

  8. 8

    Pythonで値の最初の文字に従ってリスト値を並べ替える方法

  9. 9

    ネストされたdictの値に従ってリストを並べ替える

  10. 10

    IDに従ってリストビューを並べ替える方法

  11. 11

    Python要素の内容に従ってリストの順序を並べ替える

  12. 12

    特定の基準に従ってリストを並べ替える方法

  13. 13

    新しい位置のリストに従って列を並べ替える方法

  14. 14

    Ansibleの特定の値に従ってdictを並べ替える

  15. 15

    値に従って連想配列を並べ替える

  16. 16

    不均一なフィールドを持つ行を並べ替える

  17. 17

    一次行列に従って行列を並べ替える

  18. 18

    R内の別のリストの順序に従ってリストを並べ替える

  19. 19

    特定の列に従ってPythonでリストのリストを並べ替える

  20. 20

    別のリストに従ってリストを並べ替える方法は?Python

  21. 21

    Python:2つの属性に従ってリストを並べ替えます

  22. 22

    selectステートメントに従って行を並べ替える方法

  23. 23

    不均一な辞書をキーで並べ替えてCSVを作成する方法

  24. 24

    Bashの文字列のリストを、特定の部分文字列に従って数値で並べ替えます

  25. 25

    Pythonのカスタムアルファベットに従って文字列値を並べ替える

  26. 26

    jqueryとハンドルバーの日付に従ってリストタグを並べ替える

  27. 27

    PythonとOpenCV:2つの基準に従って輪郭のリストを並べ替える

  28. 28

    パンダの列の1つに一致する、リストに従ってデータフレームを並べ替える

  29. 29

    値のカスタム並べ替えを定義し、その並べ替えに従って配列から最大値と最小値を取得する-PHP

ホットタグ

アーカイブ