[Python] Python シリーズ チュートリアル -- Python3 コレクション (15)

序文

過去のレビュー:

コレクション (セット) は、順序のない、繰り返されない要素のシーケンスです。

中かっこ { } または set() 関数を使用してコレクションを作成できます。注: 空の辞書の作成には { } が使用されるため、空のコレクションを作成するには、{ } の代わりに set() を使用する必要があります。

フォーマットを作成します:

parame = {
    
    value01,value02,...}
或者
set(value)

例 (Python 3.0 以降)

>>> basket = {
    
    'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)                      # 这里演示的是去重功能
{
    
    'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket                 # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False

>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  
{
    
    'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # 集合a中包含而集合b中不包含的元素
{
    
    'r', 'd', 'b'}
>>> a | b                              # 集合a或b中包含的所有元素
{
    
    'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # 集合a和b中都包含了的元素
{
    
    'a', 'c'}
>>> a ^ b                              # 不同时包含于a和b的元素
{
    
    'r', 'd', 'b', 'm', 'z', 'l'}

リスト内包表記と同様に、セットも集合内包表記をサポートします。

例 (Python 3.0 以降)

>>> a = {
    
    x for x in 'abracadabra' if x not in 'abc'}
>>> a
{
    
    'r', 'd'}

コレクションの基本操作

1.要素を追加する

構文形式は次のとおりです。

s.add( x )

要素 x をセット s に追加します。要素がすでに存在する場合は何も行いません。

例 (Python 3.0 以降)

>>> thisset = set(("Google", "demo", "Taobao"))
>>> thisset.add("Facebook")
>>> print(thisset)

{'Taabao', 'Facebook', 'Google', 'demo'} には
要素を追加できる別のメソッドがあり、パラメーターにはリスト、タプル、辞書などを指定できます。構文形式は次のとおりです。

s.update( x )

x はカンマで区切って複数指定できます。

例 (Python 3.0 以降)

>>> thisset = set(("Google", "demo", "Taobao"))
>>> thisset.update({
    
    1,3})
>>> print(thisset)
{
    
    1, 3, 'Google', 'Taobao', 'demo'}
>>> thisset.update([1,4],[5,6])  
>>> print(thisset)
{
    
    1, 3, 4, 5, 6, 'Google', 'Taobao', 'demo'}
>>>

2. 要素を削除する

構文形式は次のとおりです。

s.remove( x )

要素 x をセット s から削除します。要素が存在しない場合はエラーをスローします。

例 (Python 3.0 以降)

>>> thisset = set(("Google", "demo", "Taobao"))
>>> thisset.remove("Taobao")
>>> print(thisset)
{
    
    'Google', 'demo'}
>>> thisset.remove("Facebook")   # 不存在会发生错误
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'Facebook'
>>>

また、コレクション内の要素も削除するメソッドがあり、要素が存在しない場合でもエラーは発生しません。形式は次のとおりです。

s.discard( x )

例 (Python 3.0 以降)

>>> thisset = set(("Google", "demo", "Taobao"))
>>> thisset.discard("Facebook")  # 不存在不会发生错误
>>> print(thisset)
{
    
    'Taobao', 'Google', 'demo'}
我们也可以设置随机删除集合中的一个元素,语法格式如下:

s.pop() 
脚本模式实例(Python 3.0+)
thisset = set(("Google", "demo", "Taobao", "Facebook"))
x = thisset.pop()

print(x)

出力結果:

$ python3 test.py 
demo

複数の実行ではテスト結果が異なります。

セット コレクションの Pop メソッドは、コレクションを順序なしで配置し、順序なしのコレクションの左側にある最初の要素を削除します。

3. 集合要素数の計算

構文形式は次のとおりです。

len(s)

セット内の要素の数を数えます。

例 (Python 3.0 以降)

>>> thisset = set(("Google", "demo", "Taobao"))
>>> len(thisset)
3

4. 空のコレクション

構文形式は次のとおりです。

s.clear()

空のコレクション s.

例 (Python 3.0 以降)

>>> thisset = set(("Google", "demo", "Taobao"))
>>> thisset.clear()
>>> print(thisset)
set()

5. 要素がコレクション内に存在するかどうかを確認します。

構文形式は次のとおりです。

x in s

要素 x が集合 s 内にあるかどうかを判断し、存在する場合は True を返し、存在しない場合は False を返します。

例 (Python 3.0 以降)

>>> thisset = set(("Google", "demo", "Taobao"))
>>> "demo" in thisset
True
>>> "Facebook" in thisset
False
>>>

コレクションの組み込みメソッドの完全なリスト

方法 説明
追加() 要素をセットに追加する
クリア() コレクションからすべての要素を削除します
コピー() コレクションをコピーする
違い() 複数のセットの差を返します
差分更新() 指定されたコレクション内にも存在する要素をコレクションから削除します。
破棄() 指定された要素をコレクションから削除します
交差点() セットの共通部分を返します
交差点更新() 集合の積部分を返します。
isdisjoint() 2 つのコレクションに同じ要素が含まれているかどうかを判断し、含まれていない場合は True を返し、そうでない場合は False を返します。
issubset() 指定されたコレクションがメソッドのパラメーター コレクションのサブセットであるかどうかを判断します。
スーパーセット() メソッドのパラメータ セットが指定されたセットのサブセットであるかどうかを判断します
ポップ() 要素をランダムに削除する
削除() 指定された要素を削除する
対称差分() 両方のコレクションから一意の要素のコレクションを返します。
対称差分更新() 現在のコレクション内の指定された別のコレクションにある同じ要素を削除し、指定された他のコレクション内の異なる要素を現在のコレクションに挿入します。
連合() 2 つのコレクションの和集合を返します
アップデート() コレクションに要素を追加する

おすすめ

転載: blog.csdn.net/u011397981/article/details/131031598