Pythonメタグループとリスト、集合と辞書の詳細
一、メタグループとリスト
メタグループは、作成されると変更できないため、シーケンスタイプの中で比較的特殊なタイプです.Pythonのメタグループはカンマとカッコで表されます.シーケンスタイプ
オペレータ
説明
x in s
xがsの要素の場合、Trueを返します.そうでない場合、Falseを返します.
x not in s
xがsの要素の場合、Trueを返します.そうでない場合、Falseを返します.
s + t
接続sとt
s*nまたはn*s
シーケンスsをn回コピー
s [ i ]
インデックス、シーケンスのi番目の要素を返す
s [ i : j ]
スライスして、シーケンスsのi番目からj番目の要素を含むサブシーケンス(j番目の要素を含まない)を返します.
s [ i : j : k ]
ステップスライスし、シーケンスsのi番目からj番目の要素を含むjをステップ数とするサブシーケンスを返す
len(s)
シーケンスsの要素個数(長さ)
min(s)
シーケンスsの最小要素
max(s)
シーケンスsの最大要素
s.index(x[,i [ ,j ] ])
シーケンスsにおいてiからjの位置に初めて要素xが現れる位置
s.count(x)
シーケンスsにxが現れる合計回数
リストメソッド
方法
説明
list.append(s)
要素xをリストの末尾に追加
list.extend(L)
リストLのすべての要素をリストの末尾に追加
list.insert(index,x)
リスト指定位置indexに要素xを追加する
list.remove(x)
最初に表示された指定要素をリストから削除
list.pop([index])
リスト・オブジェクトの指定した場所の要素を削除して返します.
list.clear()
リスト内のすべての要素を削除しますが、リストオブジェクトは保持されます.
list.index(x)
戻り値xの最初の要素の下付き
list.count(x)
指定した要素xのリストへの出現回数を返す
list.revrse()
リスト要素をその場で逆順序にする
list.sort()
リスト要素をその場でソート(昇順、降順)
list.copy()
リスト・オブジェクトの浅いコピーを返します
注意:listを除くcopy()以外は、他に新しいリストは生成されず、リストのIDも変更されません
リスト導出式[新しい要素式 or 一時変数 in 反復可能オブジェクト if 条件式]
二、集合と辞書集合データ型は、順序のない単純なオブジェクトの集約であり、集合中の要素は を繰り返さない. Python集合データ型は、可変集合オブジェクト(set)と可変集合オブジェクト(frozenset)の を含む.集合の定義{x 1,[x 2,...,xn]} {}は空の辞書を表します.辞書もカッコで定義されているので、空セットはset() です.コレクションの要素は繰り返してはいけません.要素タイプは固定データタイプのみです.たとえば、整数、浮動小数点数、文字列、メタグループなどです.リスト、辞書、コレクションタイプ自体は可変データタイプであり、コレクションの要素としては現れません.
例:アセンブリオブジェクトの作成例
例:集合中の要素の判断例
集合要素がユニークであるため,集合タイプを用いて重複要素をフィルタリングすることができ,set(x)関数を用いて集合を生成することができる.
コレクションタイプには10個のオペレータがあります
オペレータ
説明
S-TまたはS.difference(T)
集合Sに含まれるが集合Tに含まれない要素を含む新しい集合を返す
S-=TまたはS.difference_update(T)
集合Sに含まれるが集合Tに含まれない要素を更新する
S&TまたはS.intersection(T)
集合SとTの要素を含む新しい集合を返す
S=&TまたはS.intersection_update(T)
集合Sを更新し、集合SとTの要素を同時に含む
S^Tまたはs.symmetric_difference(T)
集合SとTの要素を含む新しい集合を返しますが、同時に含まれる要素は含まれません.
S^=Tまたはs.symmetric_difference_update(T)
集合SとTの要素を含むが、同時に含まれる要素を含まない集合Sを更新する
S|TまたはS.union(T)
SとTのすべての要素を含む新しいセットを返します.
S|=TまたはS.update(T)
セットSを更新し、SとTのすべての要素を含む
S<=TまたはS.issubset(T)
SがTと同じまたはSがTのサブセットである場合、Trueを返します.そうでない場合、Falseを返します.Sを使用できます.
S>=TまたはS.issuperset(T)
SがTと同一またはSがTのスーパーセットであればTrueを返し,そうでなければFalseを返し,S>TでSがTの真のスーパーセットであるか否かを判断することができる.
上記オペレータは、集合タイプの4つの基本操作を表し、交差(&)、並列(|)、差分(-)、補完(^)、操作ロジックは数学的定義と同じである
例:集合の演算例
集合タイプには10の操作関数またはメソッドがあります.
関数またはメソッド
説明
S.add(x)
データ項目xがセットsにない場合
S.clear(x)
Sのすべてのデータアイテムを削除
S.copy()
セットSのコピーを返す
S.pop()
セットSの要素の1つをランダムに返し、Sが空の場合、KeyError異常が発生する
S.discard(x)
xが集合Sにある場合は、その要素を除去し、xが存在しない場合はエラーを報告しない
S.remove(x)
xが集合Sにある場合、その要素は除去され、KeyError異常が発生しない
S.isdisjoint(T)
集合SとTに同じ要素がない場合はTrueを返す
len(S)
集合S要素の数を返す
x in S
xがSの要素の場合はTrueを返し、そうでない場合はFalseを返します.
x not in S
xがSの要素でない場合はTrueを返し、そうでない場合はFalseを返します.
辞書の種類が未完で続きます...
メタグループは、作成されると変更できないため、シーケンスタイプの中で比較的特殊なタイプです.Pythonのメタグループはカンマとカッコで表されます.シーケンスタイプ
オペレータ
説明
x in s
xがsの要素の場合、Trueを返します.そうでない場合、Falseを返します.
x not in s
xがsの要素の場合、Trueを返します.そうでない場合、Falseを返します.
s + t
接続sとt
s*nまたはn*s
シーケンスsをn回コピー
s [ i ]
インデックス、シーケンスのi番目の要素を返す
s [ i : j ]
スライスして、シーケンスsのi番目からj番目の要素を含むサブシーケンス(j番目の要素を含まない)を返します.
s [ i : j : k ]
ステップスライスし、シーケンスsのi番目からj番目の要素を含むjをステップ数とするサブシーケンスを返す
len(s)
シーケンスsの要素個数(長さ)
min(s)
シーケンスsの最小要素
max(s)
シーケンスsの最大要素
s.index(x[,i [ ,j ] ])
シーケンスsにおいてiからjの位置に初めて要素xが現れる位置
s.count(x)
シーケンスsにxが現れる合計回数
>>> a = "cat","dog","tiger","human"
>>> a
('cat', 'dog', 'tiger', 'human')
>>> b = ("red",0x001100,"blue",a)
>>> b
('red', 4352, 'blue', ('cat', 'dog', 'tiger', 'human'))
>>> b[2]
'blue'
>>> b[-1][2]
'tiger'
リストメソッド
方法
説明
list.append(s)
要素xをリストの末尾に追加
list.extend(L)
リストLのすべての要素をリストの末尾に追加
list.insert(index,x)
リスト指定位置indexに要素xを追加する
list.remove(x)
最初に表示された指定要素をリストから削除
list.pop([index])
リスト・オブジェクトの指定した場所の要素を削除して返します.
list.clear()
リスト内のすべての要素を削除しますが、リストオブジェクトは保持されます.
list.index(x)
戻り値xの最初の要素の下付き
list.count(x)
指定した要素xのリストへの出現回数を返す
list.revrse()
リスト要素をその場で逆順序にする
list.sort()
リスト要素をその場でソート(昇順、降順)
list.copy()
リスト・オブジェクトの浅いコピーを返します
注意:listを除くcopy()以外は、他に新しいリストは生成されず、リストのIDも変更されません
リスト導出式[新しい要素式 or 一時変数 in 反復可能オブジェクト if 条件式]
>>> multiples = [i for i in range(30) if i % 3 is 0]
>>> print(multiples)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
>>>[x*x for x in range(6) if x % 2 == 0]
[0,4,16]
>>> x = [3,5,3,7]
>>> [x.index(i) for i in x if i == 3]
[0, 0]
二、集合と辞書
例:アセンブリオブジェクトの作成例
>>> {1,2,1}
{1, 2}
>>> {1,'a',True}
{1, 'a'}
>>> {1.2,True}
{1.2, True}
>>> set()
set()
>>> set('Hello')
{'o', 'H', 'e', 'l'}
例:集合中の要素の判断例
>>> s = set('Hello')
>>> 'h' in s
False
>>> 'o' not in s
False
集合要素がユニークであるため,集合タイプを用いて重複要素をフィルタリングすることができ,set(x)関数を用いて集合を生成することができる.
>>> w = set('apple')
>>> w
{'e', 'a', 'p', 'l'}
>>> v = set(("cat","dog","tiger","human"))
>>> v
{'cat', 'tiger', 'human', 'dog'}
コレクションタイプには10個のオペレータがあります
オペレータ
説明
S-TまたはS.difference(T)
集合Sに含まれるが集合Tに含まれない要素を含む新しい集合を返す
S-=TまたはS.difference_update(T)
集合Sに含まれるが集合Tに含まれない要素を更新する
S&TまたはS.intersection(T)
集合SとTの要素を含む新しい集合を返す
S=&TまたはS.intersection_update(T)
集合Sを更新し、集合SとTの要素を同時に含む
S^Tまたはs.symmetric_difference(T)
集合SとTの要素を含む新しい集合を返しますが、同時に含まれる要素は含まれません.
S^=Tまたはs.symmetric_difference_update(T)
集合SとTの要素を含むが、同時に含まれる要素を含まない集合Sを更新する
S|TまたはS.union(T)
SとTのすべての要素を含む新しいセットを返します.
S|=TまたはS.update(T)
セットSを更新し、SとTのすべての要素を含む
S<=TまたはS.issubset(T)
SがTと同じまたはSがTのサブセットである場合、Trueを返します.そうでない場合、Falseを返します.Sを使用できます.
S>=TまたはS.issuperset(T)
SがTと同一またはSがTのスーパーセットであればTrueを返し,そうでなければFalseを返し,S>TでSがTの真のスーパーセットであるか否かを判断することができる.
上記オペレータは、集合タイプの4つの基本操作を表し、交差(&)、並列(|)、差分(-)、補完(^)、操作ロジックは数学的定義と同じである
例:集合の演算例
>>> s1 = {1,2,3}
>>> s2 = {2,3,4}
>>> s1|s2
{1, 2, 3, 4}
>>> s1&s2
{2, 3}
>>> s1.intersection(s2)
{2, 3}
集合タイプには10の操作関数またはメソッドがあります.
関数またはメソッド
説明
S.add(x)
データ項目xがセットsにない場合
S.clear(x)
Sのすべてのデータアイテムを削除
S.copy()
セットSのコピーを返す
S.pop()
セットSの要素の1つをランダムに返し、Sが空の場合、KeyError異常が発生する
S.discard(x)
xが集合Sにある場合は、その要素を除去し、xが存在しない場合はエラーを報告しない
S.remove(x)
xが集合Sにある場合、その要素は除去され、KeyError異常が発生しない
S.isdisjoint(T)
集合SとTに同じ要素がない場合はTrueを返す
len(S)
集合S要素の数を返す
x in S
xがSの要素の場合はTrueを返し、そうでない場合はFalseを返します.
x not in S
xがSの要素でない場合はTrueを返し、そうでない場合はFalseを返します.
辞書の種類が未完で続きます...