Pythonリストとメタグループ


文書ディレクトリ
  • Pythonリストとメタグループ
  • 概要
  • 汎用シーケンス動作
  • インデックス
  • スライス
  • シーケンス加算
  • 乗算
  • メンバーシップ
  • リスト(Python主力)
  • 関数list
  • 基本的なリスト操作
  • リストメソッド
  • タプル:変更不可シーケンス
  • は、タプル
  • を例示する
  • まとめ
  • 以上に現れる関数
  • ソースアドレス
  • Pythonリストとメタグループ
    概要
    Pythonには複数のメタグループが内蔵されており、ここでは最もよく使われる2つを重点的に紹介します. です.まずリスト、通常?次のように
  • は、クエリ関係型データ(エントリ情報を返し、 に格納)を仮定する:
  • .
    #      
    edward = ['Edward Gumby', 42]
    john = ['John Smith', 50]
    database = [edward, john]
    #      String,  
    print('   :'+database.__str__())
    
  • 知識ポイントPythonには、コンテナ(container)というデータ構造の基本概念がある.容器とは、物を詰めることで、多くのオブジェクト、オブジェクトを含むことができます. ( ) ( ), , , ( )-Pythonマッピング. , 【Set】 .

  • 汎用シーケンス操作
    すべてのシーケンス、例えば 、 、 、 および 検査に適したいくつかの動作がある.
    索引
    すべての要素に番号が付いていて、 0から始まります!
    #    
    greeting = 'Hello'
    print(greeting[0])
    
    #    (    )
    print(greeting[-1])
    
    #     ,     3  
    fourth = input('Year: ')[3]
    print(fourth)
    

    スライス
    ###############    ############### 
    #      (     )
    tag = 'Python web site'
    print(tag[9:30])
    print(tag[32:-4])
    
    numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    print(numbers[3:6])
    print(numbers[0:1])
    print(numbers[7:10])
    
    #    -  (      )
    print(numbers[-3:-1])
    # print(numbers[-3:0]) #     ,             ,    
    
    #      
    print(numbers[-3:])
    
    #      2
    print(numbers[:3])
    
    #         
    print(numbers[:])
    
    #   12       4   
    # url = input('Please enter the URL:')
    # domain = url[11:-4]
    # print("Domain name: " + domain)
    
    #     :      (1),    0——10,  1     
    print(numbers[0:10:1])
    
    # 0——10,  2     
    print(numbers[0:10:2])
    
    # 3——6,  3     
    print(numbers[3:6:3])
    
    #     :  3   1  
    print(numbers[::4])
    
    # :     0,        ,     ,       
    print(numbers[8:3:-1])
    print(numbers[10:0:-2])
    print(numbers[0:10:-2])
    print(numbers[::-2])
    print(numbers[5::-2])
    print(numbers[:5:-2])
    

    シーケンス加算
    ###############      ###############
    #            
    print([1, 2, 3] + [4, 5, 6])
    print('Hello,' + 'world!')
    #        ,             
    # print([1, 2, 3] + 'world!')
    # Traceback (innermost last):
    # File "", line 1, in ? [1, 2, 3] + 'world!'
    # TypeError: can only concatenate list (not "string") to list
    

    乗算#ジョウサン#
    ###############    ###############
    print('python' * 5)
    print([42] * 10)
    
    # None、       
    # Python  "None"       ,      10          ,              10   
    sequence = [None] * 10
    print(sequence)
    
    #         
    sentence = input("Sentence: ")
    screen_width = 80
    text_width = len(sentence)
    box_width = text_width + 6
    left_margin = (screen_width - box_width)
    print()
    print(' ' * left_margin + '+' + '-' * (box_width - 2) +  '+')
    print(' ' * left_margin + '|' + ' ' * text_width      + ' |')
    print(' ' * left_margin + '|' +       sentence        + ' |')
    print(' ' * left_margin + '|' + ' ' * text_width      + ' |')
    print(' ' * left_margin + '+' + '-' * (box_width - 2) +  '+')
    print()
    

    メンバーシップ
    ###############     ###############
    #  
    permissions = 'rw'
    print('w' in permissions)
    print('x' in permissions)
    
    users = ['mlh', 'foo', 'bar']
    #      ,          
    # input('Enter your user name: ') in users
    
    subject = '$$$ Get rich now!!! $$$'
    print('$$$' in subject)
    
    #       PIN 
    # database = [
    #     ['albert', '1234'],
    #     ['dilbert', '4242'],
    #     ['smith', '7524'],
    #     ['jones', '9843']
    # ]
    #
    # username = input('User name: ')
    # pin = input('PIN code: ')
    # if [username, pin] in database :print('Access granted')
    
    #          
    numbers = [100, 34, 678]
    print(len(numbers))
    print(max(numbers))
    print(min(numbers))
    print(max(2, 3))
    print(min(9, 3, 2, 5))
    

    リスト(Python主力)
    リストには独自の方法がたくさんあります
    関数リストlist , , ,
    ############### list ###############
    somelist=list('Hello')
    #      
    print(somelist)
    #          
    print(''.join(somelist))
    

    基本的なリスト操作
    ###############         ###############
    #    ,     
    x = [1, 1, 1]
    x[1] = 2
    print(x)
    
    #    
    names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
    del names[2]
    print(names)
    
    #     
    name = list('Perl')
    print(name)
    name[2:] = list('ar')
    print(name)
    
    #       
    name = list('Perl')
    name[1:] = list('ython')
    print(name)
    
    #   
    numbers = [1, 5]
    numbers[1:1] = [2, 3, 4]
    print(numbers)
    
    #   (   '     ')
    numbers[1:4] = []
    print(numbers)
    

    リストメソッド
    定義:メソッドは、オブジェクト(リスト、数、文字列など)と密接に関連する関数表現形式です:object.method(arguments)
    # 2.3   :Python  
    ############### list ###############
    somelist=list('Hello')
    #      
    print(somelist)
    #          
    print(''.join(somelist))
    
    
    ###############         ###############
    #    ,     
    x = [1, 1, 1]
    x[1] = 2
    print(x)
    
    #    
    names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
    del names[2]
    print(names)
    
    #     
    name = list('Perl')
    print(name)
    name[2:] = list('ar')
    print(name)
    
    #       
    name = list('Perl')
    name[1:] = list('ython')
    print(name)
    
    #   
    numbers = [1, 5]
    numbers[1:1] = [2, 3, 4]
    print(numbers)
    
    #   (   '     ')
    numbers[1:4] = []
    print(numbers)
    
    
    ###############      ###############
    - 1. append
    lst = [1, 2, 3]
    lst.append(4)
    print(lst)
    
    # 2. clear
    lst = [1, 2, 3]
    lst.clear()
    print(lst)
    
    # 3. copy
    a = [1, 2, 3]
    b = a
    b[1] = 4
    print(a)
    #   a b       ,    b   a   ,  :
    a = [1, 2, 3]
    b = a.copy()
    b[1] = 4
    print(a)
    #       a[:] list(a),      a。
    
    # 4. count
    #  count                 。
    print(['to', 'be', 'or', 'not', 'to', 'be'].count('to'))
    x = [[1, 2], 1, 1, [2, 1, [1, 2]]]
    print(x.count(1))
    print(x.count([1, 2]))
    
    # 5. extend(  )
    a = [1, 2, 3]
    b = [4, 5, 6]
    a.extend(b)
    print(a)
    #    
    a = [1, 2, 3]
    b = [4, 5, 6]
    print(a+b)
    print(a)
    
    # 6. index
    knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']
    print(knights.index('who'))
    
    # print(knights.index('herring')) #      ,    herring
    # Traceback (innermost last):
    # File "", line 1, in ?
    # knights.index('herring')
    # ValueError: list.index(x): x not in list
    
    #    'who' ,       4 。
    print(knights[4])
    
    # 7. insert
    numbers = [1, 2, 3, 5, 6, 7]
    numbers.insert(3, 'four')
    print(numbers)
    
    numbers = [1, 2, 3, 5, 6, 7]
    numbers[3:3] = ['four']
    print(numbers)
    
    # 8. pop
    #  pop          (         ),       。
    x = [1, 2, 3]
    print(x.pop())
    print(x)
    print(x.pop(0))
    print(x)
    #pop              None      。
    # ****   pop            —— (stack)。       ,         ,          。           ,       (LIFO)。 ***
    
    #pop        ,             ,  Python  push,     append  
    x = [1, 2, 3]
    x.append(x.pop())
    print(x) #    ,          3,         3,       1,2,3 + 3(x.append()) 1,2,3-3 (x.pop)
    
    # 9. remove
    #  remove              。
    x = ['to', 'be', 'or', 'not', 'to', 'be']
    print(x.remove('be'))
    # print(x.remove('bee'))
    # Traceback (innermost last):
    # File "", line 1, in ? x.remove('bee')
    # ValueError: list.remove(x): x not in list
    
    # 10. reverse
    #  reverse    。
    x = [1, 2, 3]
    print(x.reverse())
    print(list(reversed(x)))
    
    # 11. sort
    x = [4, 6, 2, 1, 7, 9]
    print(x.sort())
    
    #  sort  x       ,      x      , y  None:
    x = [4, 6, 2, 1, 7, 9]
    y = x.sort()
    print(y)
    #        ,          y   x   ,  y    ,    :
    x = [4, 6, 2, 1, 7, 9]
    y = x.copy()
    y.sort()
    print(x)
    print(y)
    
    #   x  y     ,    x y        。
    #            ,           sorted:
    x = [4, 6, 2, 1, 7, 9]
    y = sorted(x)
    print(y)
    print(x)
    
    #   ,           ,         
    print(sorted('Python'))
    
    #              ,    sort( sorted),     reverse,      reverse,         。
    
    # 12.     
    #  sort        :key reverse。              ,        ,   6     。  key     cmp:               。  ,                           ,                 ,             。  ,            ,    key     len。
    x = ['aardvark', 'abalone', 'acme', 'add', 'aerate']
    x.sort(key=len)
    print(x)
    #          reverse,           (True False,   5      ),                   。
    x = [4, 6, 2, 1, 7, 9]
    x.sort(reverse=True)
    print(x)
    

    タプルタプル:変更不可シーケンス
    リストと同様に、メタグループもシーケンスであり、唯一の違いは、メタグループが であることです(文字列も変更できないことに気づいたかもしれません).メタグループの構文は簡単で、いくつかの値をカンマで区切るだけで、自動的にメタグループを作成できます.
    タプルの例
    ##############      ##############
    print((1, 2, 3))
    #    ()
    
    #    tuple        
    print(tuple([1, 2, 3]))
    print(tuple('abc'))
    print(tuple((1, 2, 3)))
    
    、なぜメタグループに詳しいのですか?理由は次の2つです.
  • マッピング内のキー(およびセットのメンバー)として使用されますが、リストは
  • ではありません.
  • 一部の組み込み関数およびメソッドは、メタグループを返します.これは、それらと付き合う必要があることを意味します.メタグループを変更しようとしない限り、メタグループと「付き合う」ことは、通常、それらを処理リストのように処理することを意味する(メタグループにないindexやcount 10などの方法を使用する必要がある場合は例外).

  • まとめ
  • シーケンスシーケンスは、要素バンド番号(0から始まる番号)のデータ構造です.リスト、文字列、メタグループはシーケンスに属し、リストは可変です(コンテンツを変更できます).メタグループと文字列は可変です(作成すると、コンテンツは固定されます).シーケンスの一部にアクセスするには、スライス操作を使用します.スライスの開始位置と終了位置を指定する2つのインデックスを指定します.リストを変更するには、要素に値を割り当てるか、値を割り当てる文を使用してスライスに値を割り当てることができます.
  • メンバーシップ特定の値がシーケンス(または他のコンテナ)に含まれているかどうかを決定するには、演算子inを使用します.演算子inを文字列に使用する場合は特殊です.これにより、サブ列が検索されます.
  • メソッドのいくつかの組み込みタイプ(リストや文字列など)は、メタグループを含まないが、多くの有用な方法を提供します.メソッドは関数に似ていますが、特定の値に関連付けられています.方法はオブジェクト向けプログラミングの重要な側面であり,7章で紹介する.

  • 以上の関数
    関数#カンスウ#
    説明
    len(seq)
    戻りシーケンスの長さ
    list(seq)
    シーケンスをリストに変換
    max(args)
    シーケンスまたはパラメータのセットの最大値を返します.
    min(args)
    シーケンスとパラメータのセットの最小値を返します.
    reversed(seq)
    シーケンスを逆反復することができます
    sorted(seq)
    指定したシーケンス内のすべての要素を含む順序付きリストを返します.
    tuple(seq)
    シーケンスをタプルに変換
    ソースアドレス
    GitHub Address