ホームページ > バックエンド開発 > Python チュートリアル > Lao QiからPythonを学ぶことの関係

Lao QiからPythonを学ぶことの関係

WBOY
リリース: 2016-06-16 08:41:52
オリジナル
1198 人が閲覧しました

アナと雪の女王コレクション

前のセクションでは、コレクションの基本概念について説明しました。そこに含まれるコレクションはすべて、その場で変更できることに注意してください。その場で変更できないコレクションもあります。このようなコレクションを作成する方法は次のとおりです:

>>> f_set = frozenset("qiwsir")   #看这个名字就知道了frozen,冻结的set
>>> f_set
frozenset(['q', 'i', 's', 'r', 'w'])
>>> f_set.add("python")       #报错
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: 'frozenset' object has no attribute 'add'

>>> a_set = set("github")      #对比看一看,这是一个可以原处修改的set
>>> a_set
set(['b', 'g', 'i', 'h', 'u', 't'])
>>> a_set.add("python")
>>> a_set
set(['b', 'g', 'i', 'h', 'python', 'u', 't'])

ログイン後にコピー

設定操作

まず、少なくとも私にとって、主に痛くて緑で美しい記憶を呼び起こすために、中学校の数学の集合に関する知識 (正確には高校数学の少しの知識) を復習します。

要素とコレクションの関係

要素がコレクションに属しているかどうか。

>>> aset
set(['h', 'o', 'n', 'p', 't', 'y'])
>>> "a" in aset
False
>>> "h" in aset
True
ログイン後にコピー

コレクションとコレクションの葛藤

2 つのセット A と B があるとします

A は B に等しいか、つまり 2 つのセットの要素はまったく同じですか
インタラクティブモードで実験してください

>>> a      
set(['q', 'i', 's', 'r', 'w'])
>>> b
set(['a', 'q', 'i', 'l', 'o'])
>>> a == b
False
>>> a != b
True
ログイン後にコピー

A が B のサブセットであるかどうか、あるいは逆に B が A のスーパーセットであるかどうか。つまり、A の要素は B の要素でもありますが、B の要素は A の要素以上です。
実験

>>> a
set(['q', 'i', 's', 'r', 'w'])
>>> c
set(['q', 'i'])
>>> c<a   #c是a的子集
True
>>> c.issubset(a)  #或者用这种方法,判断c是否是a的子集
True
>>> a.issuperset(c) #判断a是否是c的超集
True

>>> b
set(['a', 'q', 'i', 'l', 'o'])
>>> a<b   #a不是b的子集
False
>>> a.issubset(b)  #或者这样做
False

ログイン後にコピー

下の図に示すように、A と B の和集合、つまり A と B のすべての要素


>>> a
set(['q', 'i', 's', 'r', 'w'])
>>> b
set(['a', 'q', 'i', 'l', 'o'])
>>> a | b            #可以有两种方式,结果一样
set(['a', 'i', 'l', 'o', 'q', 's', 'r', 'w'])
>>> a.union(b)
set(['a', 'i', 'l', 'o', 'q', 's', 'r', 'w'])
ログイン後にコピー

下図に示すように、A と B の共通部分、つまり A と B に共通する要素


>>> a
set(['q', 'i', 's', 'r', 'w'])
>>> b
set(['a', 'q', 'i', 'l', 'o'])
>>> a & b    #两种方式,等价
set(['q', 'i'])
>>> a.intersection(b)
set(['q', 'i'])
ログイン後にコピー

実験中に次のコードを入力した結果は次のとおりです。 (考える質問)

>>> a and b
set(['a', 'q', 'i', 'l', 'o'])
ログイン後にコピー

下図に示すように、B に対する A の差 (補数)、つまり B に対する A の異なる要素


>>> a
set(['q', 'i', 's', 'r', 'w'])
>>> b
set(['a', 'q', 'i', 'l', 'o'])
>>> a - b
set(['s', 'r', 'w'])
>>> a.difference(b)
set(['s', 'r', 'w'])
ログイン後にコピー

-以下の図に示す、A と B の対称差分セット

>>> a
set(['q', 'i', 's', 'r', 'w'])
>>> b
set(['a', 'q', 'i', 'l', 'o'])
>>> a.symmetric_difference(b)
set(['a', 'l', 'o', 's', 'r', 'w'])
ログイン後にコピー

以上がセットの基本的な操作です。プログラミングで使用されている場合は、上記の方法で検索できます。丸暗記する必要はありません。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート