Pythonのsort関数とsorted関数の違いとpythonのエラーについて。AttributeError: 'list' オブジェクトに 'sorted' 属性がない 理由
python: AttributeError: 'list' オブジェクトは 'sorted' という属性を持っていません 理由。
sort()とsorted()の違いに注意を払わない
sort()はメソッド、sorted()は関数です。
この2つは形を変えて使われています。
メソッドは、例えば list2.sort() のように .sort() メソッドと一緒に呼び出されます。
データを渡すための関数は、同じように使うことはできません。 例えば、sorted(list2)は
説明
.sort() と sorted() はどちらも Python に組み込まれており、オブジェクトをソートすることができます。
構文
i. ソート済み()
sorted
(
イテラブル
,
*
,
キー=なし
,
リバース=ファルス
)
sorted() 関数には、ソート後の新しいリストである戻り値があります。
キーワード引数として指定しなければならない2つのオプション引数があります。
キー
元のオブジェクトから関数が抽出した条件をキーとして指定し、返されたパラメータをキーとして元のオブジェクトの要素をソートして表示する。
例えば
key=str.lower
The default value is None, which sorts elements directly, as in a dictionary, with key names as keywords.
リバース
値をブール値で指定します。 2つだけあります(TrueかFalse、大文字に注意)。
もし値が
True
であれば、逆順、つまり降順でソートされます。
例
x=sorted(cars)
print(x) carsリストの内容は変わっていません。
cars.sort() 元のリストは直接メソッドを呼び出すので、ソートされて元に戻りません
sort はリスト型のソート関数で、関数のプロトタイプは以下の通りです。L.sort(key=None, reverse=False), このメソッドは戻り値を持たず、リストのソートインプレイスである。
key - は、リスト要素の重みを比較するために使用されるキーワードです。key は一般に、1つの要素のみを受け取り、その重みを返す関数(または無名関数)を受け入れるために使用されます。
reverse -- 順序を逆にするかどうか
```
a = ['Google', 'Runoob', 'Taobao', 'Facebook' ]。
a.sort() # デフォルトでは最初の文字でソートされます。
print(a)
a.sort(key= lambda x : x[1]) # 2文字目で並べ替え
print(a)
def takeSecond(x):
return x[1]
a.sort(key=takeSecond)
print(a)
sorted はすべての反復可能オブジェクトに対してソート操作を行うことができ、 特に sorted(iterable, key=None, reverse=False) の形式で辞書をソートすることができます。
sorted関数は戻り値を持っています。
d = {'lily':25, 'wangjun':22, 'John':25, 'Mary':19} とする。
sorted_keys = sorted(d) # 辞書の場合、デフォルトではキーのソートが行われます。
print(sorted_keys)を実行します。
sorted_keys1 = sorted(d, key=lambda x : x[1])
print(d_new2)
d_new = sorted(d.items(), key=lambda x: x[1], reverse=True) # 年齢でソートし、リスト形式で返す
print(d_new)
d_new = dict(d_new) # ネストされたリストを辞書に変換する組み込み関数を使用する
print(d_new)
sorted_values = sorted(d.values(), key=lambda x:x, reverse=False) # 並べ替えられた値
print(sorted_values)
関連
-
IDEAがgit push origin masterコマンドを入力する際にエラーを報告しました: ! [リモート拒否] master -> master (フック拒否)
-
スキャナは、入力を待たずにエラーを報告します java.util.NoSuchElementException: 行が見つかりません
-
Python update pip error: EnvironmentErrorのため、パッケージをインストールできませんでした。[WinError 5] アクセスが拒否されました
-
linux error ttyname failed: デバイスに不適切な ioctl Solution
-
ArrayAdapterはリソースIDがTextViewである必要がある問題について
-
ModuleNotFoundError を解決する。Pythonに'tensorflow._api'という名前のモジュールはありません。
-
[Errno 8] nodenameまたはservnameが提供されないか、不明です。
-
VM21248:1 Uncaught ReferenceError: xxx is not defined エラーを解決する。
-
ベクトル添え字の範囲外問題の解の1つ
-
sql server の int から datetime への変換
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseのパッケージエクスプローラーを開く
-
MySQLのエラー(ERROR 1046 (3D000)。選択されたデータベースがありません)
-
データベースエラーについて ERROR: 初期通信パケットの読み込み」でMySQLサーバに接続できなくなった
-
python ランタイムプロンプト WebDriverException: メッセージ geckodriver' 実行ファイルが PATH にある必要があります。
-
pythonプログラミング放課後問題集(程春輝)
-
Object reference not set to an instance of object "エラーの解決方法について。
-
mscorlib.dll で "TargetInvocationException" 型の例外が発生するが、ユーザーコードで処理されない
-
Swagger の @ApiModel アノテーション
-
Application_Webservice の Global.asax ファイルの開始をトリガーすることはできません。
-
オブジェクト[1]からnilオブジェクトを挿入しようとしました' Error