1

私は少し迷っています。次の形式のリストを並べ替えたい:

[instance_of_myClass, instance_of_myClass, instance_of_myClass...]

initmyClass次のようになります。

def __init__(self):
   self.ip = ""
   self.hostname = ""
   self.further_informtion

私が見つけたIPアドレスでソートしたい

sorted(list_of_ips, key=lambda ip: long(''.join(["%02X" % long(i) for i in ip.split('.')]), 16))

from Pythonの辞書に保存されているIPアドレスをソートする方法は?

転送は面倒だけど。誰かがこれで私を助けることができますか?

4

2 に答える 2

1

ドキュメントによると:

key は、各リスト要素から比較キーを抽出するために使用される 1 つの引数の関数を指定します。デフォルト値はなしです。

したがって、キーとして指定した上記のラムダ関数の実際の引数は「myClass」のインスタンスであるため、クラス インスタンスを IP で並べ替えるには、次のように sth を記述する必要があります。

key=lambda my_instace: long(''.join(["%02X" % long(i) for i in my_instance.ip.split('.')]), 16))
于 2012-10-22T13:16:28.140 に答える
0
[instance_of_myClass, instance_of_myClass, instance_of_myClass...].sort(lambda a, b: cmp(a.ip, b.ip))
于 2012-10-22T13:18:40.177 に答える