Pythonのsorted関数に関する小さな例

迷茫
リリース: 2017-03-25 14:39:57
オリジナル
1262 人が閲覧しました

2日前にソケットプログラミングを学んだのですが、ある専門家にアドバイスを求めたところ、歩き方を学ぶ前に走りたかったような気がしました。マスターは、私の現在のレベルでは、ファイルの操作やシリアル番号などの小さな練習をして理解を深めるべきだと言いました。以下は彼が私に与えた小さな練習問題です:
1. data = [['sherry',19,'雌'],['flora',21,'雌'],['june',15,'女性']]、名前と年齢の最初の文字に従って出力を並べ替えます

2. 指定された出力メソッドに従って比較結果を出力し、

class_mates = {'sherry':[18,'male'],'june':[20,'female'],'flora':[19,'female'],'alina':[21,'male']}

class Person(object):

  def __init__(self,name,age):
  self.name = name

p1 = Person('sherry',20)
p2 = Person('june',20)


if p1<p2:
print(&#39;p1:{} less than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))
else:
print(&#39;p1:{} gte than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))
ログイン後にコピー

これは非常に簡単です。午後中ずっと (顔を平手打ち)

def get_first(info):
     first_value = info[0][0]
     return first_value

 na = sorted(datas,key=get_first)
 print(na)

 def age_sort(info):
     return info[1]
 print(sorted(datas,key=age_sort))
ログイン後にコピー

質問 2 への答え

class_mates = {&#39;sherry&#39;:[18,&#39;male&#39;],&#39;june&#39;:[20,&#39;female&#39;],&#39;flora&#39;:[19,&#39;female&#39;],&#39;alina&#39;:[21,&#39;male&#39;]}

class Person(object):

    def __init__(self,name,age):
        self.name = name
        self.age = age
    def __lt__(self,others):
        if(self.age<others.age):
            return 1
        elif(self.age==others.age): 
            if(self.name[0]<others.name[0]):
                return 1
            else:
                return 0
        return 0

p1 = Person(&#39;sherry&#39;,20)
p2 = Person(&#39;june&#39;,20)


if p1<p2:
    print(&#39;p1:{} less than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))
else:
    print(&#39;p1:{} gte than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))
ログイン後にコピー
python

の公式ドキュメントを参照して、得られた知識を要約します。

(1、sortediterable[, key][, reverse]) オプションの 2 つのキーワード引数を使用して並べ替えられたリストを返します (引数を指定するには位置ではなく引数名を使用します)。

key

は、パラメータを持つ関数を定義し、この関数のパラメータとしてリストの要素を抽出し、呼び出したキーワードとして値を返します。デフォルト値はNoneです(リストの要素を直接比較します)。 reverse はブール値です。 True は、リスト内の要素を逆順に並べ替えることを意味します。

2. ln(a,b)、a

以上がPythonのsorted関数に関する小さな例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート