formatフォーマットとメタグループ、辞書

93303 ワード

formatフォーマットとメタグループ、辞書
  • 新課標
  • formatフォーマット
  • タプル
  • タプルの基本使用形式:
  • 1,タプルの作成
  • 2.メタグループの基本操作
  • 辞書
  • 辞書の作成
  • 空の辞書を作成
  • 複数の値を持つ辞書を作成
  • 辞書の一般的な操作
  • ディクショナリ値のアクセス(検索の一種)
  • 削除
  • 調べ
  • 新しいテキスト
            ,           :
    
    %(name)[width].[precision]typecode
    
    (name)   
    
    flags   +,-,' ' 0。+     。-     。' '     ,              ,       。0    0  。
    
    width      
    
    precision        
    
    

    例:
    >>> print("%+10x"% 10)
            +a
    >>> print("%04d"%5)
    0005
    >>> print("%6.3f"%2.3)
     2.300
    >>>
    >>> print("%2.3f"%2300.2)
    2300.200
    >>>
    

    formatフォーマット
  • 位置マッピング列子:
    >> "{}".format(" ")
    ' '
    >>> "{}:{}".format("1","2")
    '1:2'
    >>> print("his name is {}".format("ww","q"))
    his name is ww
    >>> print("his name is {},his age is {}".format("ww","q"))
    his name is ww,his age is q
    >>>
    
  • キーワードマッピング
    >>> print("{name},++++,{age},++++,{name}".format(name="xiaoming",age=18))
    xiaoming,++++,18,++++,xiaoming
    >>>
    
  • エレメントアクセス
    print("{0[0]}----{0[1]}----{1[1]}".format(["python","java"],["c++","R Language"]))
    python----java----R Language
    
    タプル
         ,    ,       
    
    タプルの基本的な使用形式:
      :
    	1. list  ;
    	2.       ;
    	3.      ()
    
    基本的な説明:タプルは()でカプセル化された複数のエレメントのデータ型であり、各エレメント間は「,」で区切られている.

  • 1,メタグループの作成
  • Nullタプルを作成
    (  1,  2,···,  n)
    
  • 1つの要素のみを含むメタグループを作成するには、1つの要素のみを含むメタグループを作成する場合は、1つの要素の後に「,」を追加する必要があります.
  • >>> t1=()
    >>> type(t1)
    <class 'tuple'>
    >>>
    
  • 複数の要素を含むタプルを作成
    >>> t2=(6)
    >>> t2,type(t2)
    (6, <class 'int'>)
    >>> t2=(6,)
    >>> t2,type(t2)
    ((6,), <class 'tuple'>)
    >>>
    
    リストと同様に、タプルの要素は異なるデータ型の要素であってもよい
  • 2.タプルの基本操作
    調べる
  • 対応する要素をインデックスで検索
    >>> t1=(1,2,3,4,5,6)1
    
  • 検索要素のインデックス値
  • >>> t3 = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})
    >>> t3[4]
    {'name': 'Tom', 'age': 18}
    >>>
    >>> t3[-1]
    {'name': 'Tom', 'age': 18}
    >>> t3[::-2]
    ({'name': 'Tom', 'age': 18}, ['h', 'u', 'n', 'a', 'n'], 1)
    >>>
    

    注意:メタグループは可変のデータ型で、十分に増加することができなくて、削除して、変えます
    t3 = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})
    print(t3.index("hunan"))
    print(t3.index("hunan",1,4))
      :
    1
    1
    

    t 4にリストがあることに注意してください.このリストの要素は変更できますか.
    t4 = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})
    print(t4[0]=0)

    つなぎ合わせる
    >>> t4 = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})
    >>> t4[2]
    ['h', 'u', 'n', 'a', 'n']
    >>> t4[2][2]='N'
    >>> t4
    (1, 'hunan', ['h', 'u', 'N', 'a', 'n'], ('I', 'love', 'python'), {'name': 'Tom', 'age': 18})
    >>>
    

    繰り返し
    >>> t1=('a','b','c')
    >>> t2=('d','e','f')
    >>> t1+t2
    ('a', 'b', 'c', 'd', 'e', 'f')
    >>>
    
    

    要素が存在するかどうかを判断する
    >>> t1*3
    ('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
    >>>
    

    組み込み関数(最大値最小値)
    >>> t1=('a','b','c')
    >>> 'a' in t1
    True
    >>> 'a' not in t1
    False
    >>>
    

    メタグループの遍歴
    1)値の遍歴
    >>> t1=('a','b','c')
    >>> max(t1)
    'c'
    >>> min(t1)
    'a'
    >>>
    

    2.索引遍歴
    >>> tp=('python','java','c++')
    >>> for i in tp:
    ...     print(i,end=" ")
    ...
    python java c++ >>>
    

    3.索引-値、遍歴
    列挙(enumerate)、リスト、文字列などの反復可能な(iterable)/遍歴可能なオブジェクトに対して、enumerateはインデックスと値を同時に得ることができるインデックスシーケンスを構成します.
    tp=('python','java','c++')
    >>> for i in range(len(tp)):
    ...     print(tp[i],end=" ")
    ...
    python java c++ >>>
    

    2 Dタプル
    >>> tp=('python','java','c++')
    >>> for index,value in enumerate(tp):
    ...     print(index,':',value)
    ...
    0 : python
    1 : java
    2 : c
        
    >>> tp=('python','java','c++')
    >>> for index,value in enumerate(tp,6):
    ...     print(index,':',value)
    ...
    6 : python
    7 : java
    8 : c++
    >>>
    

    3 Dメタグループ
    >>> tp=((1,2,3),(4,5,6),(7,8,9))
    >>> tp[1][1]
    5
    >>>
    

    復習する
    >>> tp=(((1,2,3),(4,5,6),(7,8,9)),)
    >>> tp[0][1][1]
    5
    >>>
    
  • 文字列、タプルは可変データ型
  • リストが可変リストジョブ
    >>> a=['a','b','c']
    >>> b=['d','e','f']
    >>> tuple(a)
    ('a', 'b', 'c')
    >>> tuple(b)
    ('d', 'e', 'f')
    >>> list(a)+list(b)
    ['a', 'b', 'c', 'd', 'e', 'f']
    >>> a+b
    ['a', 'b', 'c', 'd', 'e', 'f']
    >>> str(tuple(a))
    "('a', 'b', 'c')"
    >>> str(list(b))
    "['d', 'e', 'f']"
    >>>
    
  • 辞書
    考え:
    シーン1
    リストがある場合
    demo:    
    
      :    、  、     ,       :
    
        ---info of Linus---
        Name  :  Linus
        Age   :  18
        job   :  IT
        Hobbie:  Read
        -------end------
    
      :                  。
    		[
    
    		["Linus", 18,  "IT", "Read"],
    
    		["Tom", 17, "IT", "Sing"],
    
    		....
    
    		]
    

    「python」という名前を書き間違え、コードで修正する必要があります.
    >>> li=['python','java','c++']
    

    リストの順序が変更された場合は、次のようになります.
    >>> li=['python','java','c++']
    >>> li[0]='html'
    >>> print(li)
    ['html', 'java', 'c++']
    

    名前の修正を完了するには、この時点でマークを修正する必要があります.
    >>> li=['python','java','c++']
    

    複数のデータを格納しながら、エレメントにアクセスしやすいように必要なエレメントを特定する方法はありますか?
    回答:
    辞書
    シーン2
    学生情報リスト、各学生情報には学号、名前、年齢などが含まれていますが、どのようにして学生の情報を見つけますか?
    >>> li=['python','java','c++']
    >>> li[2]='python'
    >>> print(li)
    ['python', 'java', 'python']
    

    循環遍歴?これは面倒です.
    実際の生活では、中国語の辞書や英漢の辞書などもよく使われています.
    プログラム内の辞書:
    studens=[201801,'  ',18],[201802,'  ',19],[201803,'  '17]
    

    ディクショナリ(dictionary)は、リスト以外のpythonで最も柔軟な組み込みデータ構造タイプです.ディクショナリは可変データ型であり、任意のタイプのオブジェクトを格納できます.リストは秩序化されたオブジェクト結合であり、辞書は無秩序なオブジェクト集合である.両者の違いは,辞書の要素がオフセットアクセスではなくキーによってアクセスされることである.
    書式:
    ​ {key:value1,key:value2,…}
    説明:
    1.健-値対中間はコロン(":")で接続する.
    2.key:valueは辞書の要素を構成します.
    3.健-値対(要素)の間をカンマ(",")で区切る.
    4.辞書全体をかっこ「{}」で包む.
    辞書の作成
    空の辞書を作成
    info={"usrname":"Lilei","age":18,"Class":"one"}
    

    複数の値を持つ辞書を作成
    1.直接付与法:d={key 1:value 1,key 2:value 2}例えば:
    >>> dict=()
    >>> type(dict)
    <class 'tuple'>
    >>>
    
    

    2,関数による辞書の作成(強制変換)
    列:
    >>> info ={"username":"limei","age":18}
    >>> info
    {'username': 'limei', 'age': 18}
    >>>
    

    3.辞書のfromkeysメソッドによる辞書の作成
      1
    >>> info = dict(usrname = "Lilei", age = 18, Class = "one")
    >>> info
    {'usrname': 'Lilei', 'age': 18, 'Class': 'one'}
      2
    >>> info = dict([['name', 'LiLei'], ['age', 18]])
    >>> info
    {'name': 'LiLei', 'age': 18}
      3
    >>> info = dict((('name', 'LiLei'), ('age', 18)))
    >>> info
    {'name': 'LiLei', 'age': 18}
      4
    >>> info = dict([('name', 'LiLei'), ('age', 18)])
    >>> info
    {'name': 'LiLei', 'age': 18}
      2
    5
    >>> info = dict((['name', 'LiLei'], ['age', 18]))
    >>> info
    {'name': 'LiLei', 'age': 18}
    >>>
    

    辞書の一般的な操作
    ディクショナリ値へのアクセス
    辞書は無秩序で、インデックスで値を取得できません.
    >>> info=dict.fromkeys("Hello")#          ,   None;
    >>> info
    {'H': None, 'e': None, 'l': None, 'o': None}
    >>> info=dict.fromkeys(["lilei","lee","jack"],"123456")#123456>>> info
    {'lilei': '123456', 'lee': '123456', 'jack': '123456'}
    >>>
    
  • 通過健(key)アクセス値(value)
  • key値が存在しない場合、エラー
  • >>> info=info[2]
    Traceback (most recent call last):
      File "", line 1, in <module>
    NameError: name 'info' is not defined
    >>>
    
  • getアクセス値(value)を使用して、辞書にキーが存在するかどうかを判断せずに値を取得したい場合は、getメソッドを使用したり、デフォルト値を設定したりできます.
  • keyが存在しない場合、異常は放出されません.Noneを返します.

  • >>> info={"usename":"Lilei","age":18,"class":"one"}
    >>> info["usename"]#            
    'Lilei'
    >>> info["age"]
    18
    >>> info["usname"]#     key,  
    Traceback (most recent call last):
      File "", line 1, in <module>
    KeyError: 'usname'
    >>>
    

    高照老2019/3/26 11:25:35
    増加
    -新しいキーを直接追加-変数名['キー']=データを使用する場合、このキーは辞書に存在しません.この要素が追加されます.
    >>> info={"name":"Lilei","age":18}
    >>> info.get("name")
    'Lilei'
    # key    ,      ,  None
    >>> info.get("job")
    >>> type(info.get("job"))
    
    >>>
    

    dict.update(dict1)
    辞書dic 1のキー/値ペアをdicに更新する
    -2つの辞書のキーが異なる場合、dic 1のキー値をdicに挿入します.-2つの辞書に同じキーがある場合、dic 1はditのキー値を上書きします.
    dict.update(dict1)
    辞書dic 1のキー/値ペアをdicに更新する
  • 2つの辞書のキーが異なる場合、dic 1のキー値をdicに挿入する
  • 2つの辞書に同じキーが存在する場合、dic 1はditのキー値
  • を上書きする.
    >>> info = {"name": "LiLei", "age": 18}
    >>> info["job"]="it"
    >>> info
    {'name': 'LiLei', 'age': 18, 'job': 'it'}
    >>>
    
    

    削除
  • del dict[key]
  • 指定した要素/健値ペアを削除
  • 戻り値なし
  • #           
    >>> info = {"name":"LiLei","age":18}
    >>> info1 = {"job":"IT","salary":100000}
    >>> info.update(info1)
    >>> info
    {'name': 'LiLei', 'age': 18, 'job': 'IT', 'salary': 100000}
    >>> info
    {'name': 'LiLei', 'age': 18, 'job': 'IT', 'salary': 100000}
    >>> info1
    {'job': 'IT', 'salary': 100000}
    >>>
    
    #           ,        
    >>> info = {"name":"LiLei","age":18}
    >>> info2 = {"name":"Tom","salary":10000}
    >>> info.update(info2)
    >>> info
    {'name': 'Tom', 'age': 18, 'salary': 10000}
    >>>
    >>> info2
    {'name': 'Tom', 'salary': 10000}
    >>>
    
  • del dict
  • 辞書全体を削除
  • >>> info={'name':'tom','age':18,'salary':10000}
    >>> del info["salary"]
    >>> info
    {'name': 'tom', 'age': 18}
    >>>
    
  • dect.clear()
  • 辞書全体をクリア
  • >>> info={"name":"lilei","age":18}
    >>> del info
    >>> info
    Traceback (most recent call last):
      File "", line 1, in <module>
    NameError: name 'info' is not defined
    >>>
    
  • dict.pop(keys)
  • 指定健値ペアを削除
  • >>> info={"name":"lilei","age":18}
    >>> info.clear()
    >>> info
    {}
    >>>
    
  • dict.popitem()
  • ランダム削除辞書の健値ペア
  • 戻り値あり、あれメタグループ方式戻り
  • 応用が広くない
  • >>> info={'name':'tom','age':18,'salary':10000}
    >>> info.pop("age")
    18
    >>> info
    {'name': 'tom', 'salary': 10000}
    >>>
    
    

    改める
    辞書の各要素のデータは修正できます.keyで見つけたら、修正できます.
  • 直接修正
  • >>> info={'name':'tom','age':18,'salary':10000}
    >>> info.popitem()
    ('salary', 10000)
    >>> info
    {'name': 'tom', 'age': 18}
    >>>
    
  • dict.setdfault()
  • 健在、変更せず、辞書の対応する値
  • を返します.
  • 健は存在せず、辞書に対応するキー値ペアを追加し、対応する値
  • を返します.
    >>> info={'name':'tom','age':18,'salary':10000}
    >>> info["name"]="lilei"
    >>> info
    {'name': 'lilei', 'age': 18, 'salary': 10000}
    >>>
    

    調べる
  • dict.keys()
  • 辞書のすべての健(keys)
  • を返します.
  • dict.value()
  • 辞書のすべての値を返します
  • dict.litems()
  • 辞書のすべてのキー値ペア(keys-value)
  • を返します.
  • key in dict
  • 存在、True
  • 存在しない、False

  • Python 2ではdict.has_key()は、keyが辞書にある場合、Trueを返します.そうでなければFalseに戻ります
    #   ,   ,         
    >>> info={'name':'tom','age':18,'salary':10000}
    >>> info.setdefault("age",20)#     
    18
    >>> info
    {'name': 'tom', 'age': 18, 'salary': 10000}
    
    #    ,             ,       
    >>> info={'name':'tom','age':18,'salary':10000}
    >>> info.setdefault("job","it")
    'it'
    >>> info
    {'name': 'tom', 'age': 18, 'salary': 10000, 'job': 'it'}
    >>>
    

    辞書の遍歴
    (1)辞書を巡る健(key)
    >>> info={'name':'tom','age':18,'salary':10000}
    >>> info.keys()
    dict_keys(['name', 'age', 'salary'])
    >>> info.values()
    dict_values(['tom', 18, 10000])
    >>> info.items()
    dict_items([('name', 'tom'), ('age', 18), ('salary', 10000)])
    >>> "age" in info
    True
    >>> "job" in info
    False
    >>>
    

    (2)辞書を巡る値(value)
    >>> info={"usrname":"lilei","age":18,"class":"one"}
    >>> for key in info.keys()
      File "", line 1
    >>> for key in info.keys():
    ...     print(key,end="")
    ...
    usrnameageclass>>>
    

    (3)すべての項目を遍歴する(items)
    >>> info = {"usrname":"Lelei","age":18,"Class":"one"}
    >>> for value in info.values():
    ...     print(value,end = " ")
    ...
    Lelei 18 one >>>
    

    (4)辞書を巡るキー値ペア(key-value)
    >>> info = {"usrname":"Lelei","age":18,"Class":"one"}
    >>> for item in info.items():
    ...     print(item,end = " ")
    ...
    ('usrname', 'Lelei') ('age', 18) ('Class', 'one') >>>