Pythonのsorted関数の紹介

高洛峰
リリース: 2017-03-04 17:29:37
オリジナル
2550 人が閲覧しました

2日前にソケットプログラミングを習ったのですが、ある専門家にアドバイスを求めたら、歩き方を覚える前に走りたくなった気がしました。マスターは、私の現在のレベルでは、ファイルの操作やシリアル番号などの小さな練習をして理解を深めるべきだと言いました。以下は彼が私に与えた小さな練習問題です:

1. data = [['sherry',19,'雌'],['flora',21,'雌'],['june',15,'femal ']]、名前と年齢の頭文字に従って出力を並べ替えます

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]))
ログイン後にコピー

実際にやってみました。午後中ずっと (Face を入力)

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))
 题目1
ログイン後にコピー
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]))

题目2答案
ログイン後にコピー

公式 Python ドキュメントを確認して、得られた知識をまとめます。

1、sorted(iterable[, key][, reverse])

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

keyは、パラメータを持つ関数を定義し、この関数のパラメータとしてリストの要素を抽出し、呼び出したキーワードとして値を返します。デフォルト値はNoneです(リストの要素を直接比較します)。

reverse

はブール値です。 True は、リスト内の要素を逆順に並べ替えることを意味します。 2. ln(a,b)、a

Pythonソート関数の導入に関連するその他の記事については、PHP中国語Webサイトに注目してください。


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