day 8元祖辞書集合

9182 ワード

tuple
  • 元祖(tuple)Pythonが提供するコンテナ型データ型とは何か、可変ではなく、秩序可変-削除変更はサポートされず、順序付けのみがサポートされている-要素(各要素は特定の下付き)
  • を下付きで取得することができる
  • 字面量と要素(要素1,要素2,...)任意のデータ型であってもよく、異なるタイプであってもよく、同じ要素が複数ある
  • point = (20,20)
    print(point,type(point))
    

    注意:
    1.空の元祖
    tuple2 = ()
    print(type(tuple2))
    

    2.エレメントの元祖が1つしかない--エレメントの後ろにカンマを付けて!!
    tuple2  = (100,)
    print(tuple2,type(tuple2))
    

    3.複数の要素を直接カンマで区切り、括弧を付けずに元祖を表す
    tuple3 = 12,25,25,25,36,4
    print(tuple3,type(tuple3))
    
  • 元祖取得要素とリストは同じ
  • である.
    tuple4 = ('  ','  ','  ','  ')
    print(tuple4[1],tuple4[2])
        
    print(tuple4[0:3])
    print(tuple4[::])
    

    ちょくせつ遍歴
    for city in tuple4:
        print(city)
    

    下付きで遍歴する
    for index in range(len(tuple4)):
        print(tuple4[index])
    index = 0
    while index < len(tuple4):
        print(tuple4[index])
        index+=1
    

    補足:特殊な取得方法
  • 変数1、変数2...=元祖-->元祖の要素の値を前の変数で順次取得するには、前の変数の個数と元祖の個数が一致する
  • が必要である.
    point = (100,200)
    x,y = point     #   x, y = 100,200
    print(y,x)
    
  • 変数1、変数2=元祖--帯の変数によって元祖の残りの部分
  • を取得する.
    注意:この構造ではバンドの変数は1つしかありません.バンドしない変数は複数あります.
    name,*scores= ('  ',25,52,32,52)
    print(name,*scores)
    *scores,num = ('  ',25,52,32,52)
    print(*scores,num)
    *info,num1,num2 = ('  ',25,52,32,52)
    print(*info,num1,num2)
    

    補足:*の使い方
    nums = (1,2,3,4,56,7)
    nums2 = [1,2,3,4,5]
    print(*nums,*nums2)
    

    4.相関演算(リストと同様)*,+,in/not in len(),max(),min(),sum(),tuple()
    tuple1 = (10,25,2)
    tuple2 = (22,'dfsf',52)
    print(tuple1 + tuple2,tuple1*2)
    print('abc' in tuple1)
    print('abc' not in tuple1)
    

    5.ソートsorted(シーケンス)-シーケンス内の要素をソートし、新しいシーケンスを生成します.
    注:リスト.sort()--元のリストの順序を変更sorted(リスト)-新しいリストを生成します.
    tuple1 = (1,25,2,)
    print(sorted(tuple1))
    
    new_strs = sorted('sfadsfdsfadfadsf')
    print(new_strs)
    num = ''.join(new_strs)
    print(num)
    

    joioの使用文字列join(シーケンス)-シーケンス内の要素を取り出し、指定した文字列でリンクします.要求シーケンスの要素は文字列です
    new_strs = ''.join(['s','sd','sd'])
    print(new_strs)
    

    dict
  • 辞書(dict)Pythonが提供するコンテナ型データ型とは、可変で無秩序な
  • である.
    ≪可変|Variable|Eas≫-要素の削除および無秩序化をサポートします-下付きの操作はサポートされていません
    2.字面量と要素は括弧で囲まれ、中には複数のキー値のペアがあり、各キー値のペアはカンマで区切られ、キー値の対事辞書の要素キー値のペア:キー/dey:値/value(キー値のペア)-キー値のペアがペアで表示されなければならない.辞書から離れるのは意味がない.
    { key1:value1,key2:value2,key3:value3...}
    

    キー-可変で、一意でなければなりません.実際には、文字列をキー値として使用します.任意のデータ型でも構いません.
    注意:辞書に格納されるデータは実質的に値によって格納され、keyは値に対応するラベルと値を取得する方法である.
    dict1 = {}    #     
    dict1 = {'a':12,'b':25,(1,2):'afd'}    #  key    
    print(dict1)
    

    3.辞書をいつ使うか:同じ意味のない複数のデータ(区別が必要)は、辞書を使用します.たとえば、1人の異なる情報を保存します.いつリストを使用しますか:格納された複数のデータは同じデータで、(同じ意味のデータ)、異なるデータを区別する必要はありません;例えば、あるクラスの学生の成績を保存します.
    person = {'name':'xiaoming','age':18,'sex':'girl','height':165,'weight':56,'score':90}
    

    練習する変数を宣言してクラスの学生情報(4人の学生)を保存し、各学生は名前、電話、年齢を保存する必要があります.
    students = [{'name':'  ','tel':564346,'age':30},{'name':'  ','tel':56421516,'age':15},
         {'name':'  ','tel':564343545,'age':15},
         {'name':'  ','tel':152156,'age':30}]
    

    辞書要素の削除
  • (値を取得)注意:辞書のキー値は単独で持ち出すことに意味がありません
  • a.辞書[key]-辞書のkeyに対応する値を取得注意:keyが存在しない場合、keyErrorが報告される
    car = {'color':'  ','type':'  ','price':500000}
    print(car['color'])
    

    b.辞書get(key)-辞書のkeyに対応する値を取得します.注意:keyが存在しない場合、エラーは発生せず、デフォルト値:none辞書が取得されます.get(key,値1)-keyが存在しない場合、エラーは報告されず、対応する値1に取得されます.
    print(car.get('type'))
    print(car.get('speed'))
    print(car.get('color','  '))
    print(car.get('speed',0))
    

    c.遍歴辞書注意:for-in遍歴辞書で直接取ったのはkeyです
    dict1 = {'a':100,'b':300,'c':23}
            key
    for key in dict1:
        # key
        print(key,end='')
        # value
        print(dict1[key])
    

    辞書のvalues()を巡回し、すべての値を取得します.
    for value in dict1.values():
        print(value)
    

    辞書のitem()を巡り、keyとvalueを直接取得します(使用は推奨されません)
    for key,vlue in dict1.items():
        print(key,value)
    
  • 増加、a.辞書[key]=値を変更-keyが存在しない場合はキー値ペアを追加し、keyが存在する場合は、keyに対応する値
  • を変更する.
    movie = {'name':'   ','type':'  ','time':120}
    

    追加
    movie['score'] = 9.9
    print(movie)
    

    変更
    movie['name'] = '       '
    print(movie)
    
  • 削除(削除キー値ペア)a.del辞書[key]-辞書で指定するキーに対応するキー値ペアb.辞書を削除する.Pop(key)-辞書のkeyに対応する値
  • を取り出す
    name = movie.pop('name')
    print(movie,name)
    

    練習:辞書で学生の情報を保存します:{'name':'張三','age':18,'score':85}変更情報を入力します.たとえば、変更情報を入力してください:name->名前abcの変更->この情報がありません
    dict1= {'name':'  ','age':18,'score':85}
    num = input('       :')
    for key in dict1:
        if num == 'name':
            name1 = input('       :')
            dict1['name'] = name1
            print(dict1)
            break
        elif num == 'age':
            age2 = int(input('     :'))
            dict1['age'] = age2
            print(dict1)
            break
        elif num == 'score':
            score2 = int(input('     :'))
            dict1['score'] = score2
            print(dict1)
            break
        else:
            print(input('     '))
    

    そうかんえんざん
    1.比較演算=,!=注意:2つの辞書が等しいかどうかを判断するには、キー値ペアが同じかどうかだけを見ます.キー値ペアの順序にかかわらず、辞書は><記号をサポートしません.
    print({'a':1,'b':2} == {'b':2,'a':1})   #                True
    
    
  • in/not in key in辞書辞書辞書で指定するkeyが存在するか否かを判定key not in辞書で指定するkeyが存在しないか否かを判定する
  • .
    dict1 = {'a':1,'b':2}
    print('a' in dict1)
    print(1 in dict1)   #  False
    
  • len(),max(),min()

  • dict(データ)-シーケンスが必要で、シーケンスの要素は2つの要素を持つサブシーケンスです.
    辞書のキー値ペアの数を取得
    print(len(dict1))
    print(max(dict1))  #      key    
    print(min(dict1))   #     key    
    

    リストを辞書に変換
    print(dict([(1,2),[52,'sdd'],('sdf','s')]))
    

    辞書の他のシーケンスはすべて辞書の中のkeyを取り出して、シーケンスの要素とします
    dict1 = {'a':1,'b':2}
    print(list(dict1))
    
  • 関連メソッド:
  • 辞書clear()-辞書
  • をクリア
    注:空のコンテナを再割り当てするのではなく、clear操作を推奨します.
    dict1 = {'a':1,'b':2}
    

    直接値を割り当て、そのうちの1つの要素を変更すると、別の要素に影響します.
    dict2 = dict1
    dict1.clear()
    print(dict1)
    
  • 辞書copy()-辞書の要素をコピーし、新しい辞書
  • を生成します.
    dict1 = {'a':1,'b':2}
    

    コピーして値を割り当てると、新しいアドレスが生成され、値を付けると相互に影響しません.
    dict2 = dict1.copy()
    dict2.clear()
    print(dict1)
    print(id(dict1),id(dict2))
    
  • 辞書fromkeys(seq,value)--シーケンス内のすべての要素をkeyとし、指定した値をvalueとして新しい辞書
  • を作成します.
    new_dict = dict.fromkeys('adv',100)
    print(new_dict)
    

  • 字典keys()-辞書のすべてのkeyを取り出して新しいシーケンス辞書を生成する.values()-辞書のすべてのvaluesを取り出して新しいシーケンス辞書を生成します.items()-辞書のすべてのkeyとvaluesを取り出して元祖を取り出して新しいシーケンスを生成します
  • 辞書setdefault(key,value = none)

  • 字典setdefault(key)-keyが存在する場合、キー値対key:None辞書を追加します.setdefault(key,value)-keyが存在しない場合、キー値を追加してkey:valueに注意します.この操作はkeyが存在する場合、変更されません.
    dict1 = {'name':'xiaoming','color':'black','height':158}
    dict1.setdefault('name2')
    print(dict1)
    

    辞書1.update(辞書2)-辞書2のキー値ペアを使用して辞書1を更新し、辞書2のkeyが辞書1にもともと存在する場合は修正であり、追加は存在しない
    dict1 = {'name':'xiaoming','color':'black','height':158}
    dict1.update({'height':120,'age':78})
    print(dict1)
    

    しゅうごう
  • 集合(set)可変無秩序とは何か.要素は一意であり、可変ではない
  • 2.字面量{要素1,要素2...}
    set1 = {1,0,2,2,2,52}   #
    print(set1)         #   {0, 1, 2, 52}                
    

    空の集合
    set2 = set()
    print(set2)
    
  • 増删改查
  • set1 = {1,0,2,52}
    
  • ルックアップセットは単独で単一要素を取得することができず、1つのルックアップ
  • しかできない.
    for itme in set1:
        print(itme)
    

    増加
    a.集合add(要素)-指定要素bを集合に追加する.update(シーケンス)-シーケンス内の要素をコレクションに追加
    set1 = {1,0,2,52}
    set1.add('ssf')
    print(set1)
    
    set1.update({'aa':10,'sd':22})
    print(set1)
    

    削除集合remove(要素)---コレクションで指定した要素を削除
    set1 = {1,0,2,52}
    set1.remove(2)
    print(set1)
    

    4.数学集合演算交差(&):2つの集合の共通の要素を取得して新しい集合を生成します(|):2つの集合の要素を結合して新しい集合差集合を生成します(-):集合1-集合2:集合1に集合2が含まれている部分を削除します.残りは新しい集合補完を生成する(^):2つの集合を統合して共通部分を除去し,残りの部分は新しい集合サブセットを生成する判断:集合1>集合2,->集合1が集合2集合1を含むか否かを判断する1集合1が集合2を含むか否かを判断する