ページ

title

告発\金沢地方検察庁\最高検察庁\法務省\石川県警察御中
弁護士と裁判官が共同で確定させた傷害・準強姦被告事件判決の再捜査要請に係る石川県警察珠洲警察署提出書面の情報公開

殺人未遂事件幇助の被告訴人: 木梨松嗣弁護士(金沢弁護士会)、岡田進弁護士(金沢弁護士会)、長谷川紘之弁護士(金沢弁護士会)、若杉幸平弁護士(金沢弁護士会)
名誉毀損罪の被告訴人: モトケンこと矢部善朗弁護士(京都弁護士会)、小倉秀夫弁護士(東京弁護士会)
市場急配センター株式会社 石川県金沢市駅西本町5丁目10番20所在
作成管理者: 石川県鳳珠郡能登町字宇出津 廣野秀樹
金沢地方検察庁御中

2020年9月17日木曜日

* pythonで,独自に作成したclassのオブジェクトを配列にして,それぞれの要素でソート

* pythonで,独自に作成したclassのオブジェクトを配列にして,それぞれの要素でソート

:CATEGORIES: python

リスト(list), 辞書(dict), setのソート(sorted) | Python Snippets https://python.civic-apps.com/sort-sorted/

 これも上記のページを参考にしています。pythonでのclassの定義も勉強がまだこれからですが,これは参考になりました。

```
class Hoge:
def __init__(self, i, name):
self.i = i
self.name = name
def __repr__(self):
return "%d:%s" % (self.i, self.name)
```

```
In [21]: class Hoge:
...: def __init__(self, i, name):
...: self.i = i
...: self.name = name
...: def __repr__(self):
...: return "%d:%s" % (self.i, self.name)
...:


In [22]: l2 = [Hoge(2, 'c'), Hoge(3, 'a'), Hoge(1, 'b')]


In [23]: l2

Out[23]: [2:c, 3:a, 1:b]

In [24]: sorted(l2, key=lambda h: h.name) #name属性を返す

Out[24]: [3:a, 1:b, 2:c]

In [25]: sorted(l2, key=lambda h: h.i) #name属性を返す

Out[25]: [1:b, 2:c, 3:a]
```

 ソートのキーの指定にラムダ式を使っているのが特に参考になりました。

 operatorモジュールのattrgetter関数を使う方法も紹介されています。無名関数ともいわれるラムダ式を使うより,可読性がよい気もします。

```
In [26]: import operator


In [27]: sorted(l2, key=operator.attrgetter('name'))

Out[27]: [3:a, 1:b, 2:c]

```

0 件のコメント:

コメントを投稿