この記事では、Python コレクションの概念について説明します。 Python コレクションの紹介は一定の参考価値がありますので、困っている友人が参考にしていただければ幸いです。
コレクションの説明
コレクションは、順序付けされていない、重複しないデータ コレクションです。コレクション自体は変更可能ですが、内部の要素は不変です。タイプ (ここで、リストを含むタプルであっても許可されていないことに注意してください。完全に不変の型である必要があります)
コレクションの作成
中括弧を使用してコレクションを作成できます。コレクション {} は作成に使用され、要素はカンマで区切られますが、{} は空の辞書を作成するため、空のコレクションの作成には使用できません。
如 set1 = {1,2,3}
set() 関数を使用してコレクションを作成することもできます。この場合、要素は不変型である必要があり、パラメータは反復可能なオブジェクト (文字列、リスト、タプル、イテレータなど) です。 。
i = 'abcdefg' a =set(i) print(type(a)) print(a) ---------- <class 'set'> {'b', 'a', 'f', 'd', 'g', 'e', 'c'}
Add add update
add(elem)
要素がすでに存在する場合、コレクションに新しい要素を追加できます。変更は行われません。
s1 = {1,2,3} s1.add('qwe') print(s1) ---------- {1, 2, 3, 'qwe'}
update(*others)
他の反復可能なオブジェクト (文字列、リスト、タプルなど) をコレクションに追加し、重複した要素を自動的に削除できます。
s1 = {1,2,3} it = [3,4,5] s1.update(it) print(s1) ---------- {1, 2, 3, 4, 5}
削除remove(elem)discard(elem)pop()clear()
remove(elem)
要素を削除しますコレクション 要素が存在しない場合、エラーが報告されます。
s1 = {1,2,3} s1.remove(2) print(s1) ---------- {1, 3}
discard(elem)
remove と同様に、コレクションから要素を削除できます。違いは、要素が存在しない場合にエラーが報告されないことです。
s1 = {1,2,3} s1.discard(6) print(s1) ---------- {1, 2, 3}
pop()
セットから要素をランダムに削除し、その要素を返します。セットが空の場合、エラーが報告されます
s1 = {1,2,3} a = s1.pop() print(s1) print(a) ---------- {2, 3} 1
clear ()
はコレクションをクリアするために使用されます。
いくつかの操作方法
集合にはいくつかの操作方法があります:交差、和集合、差集合、逆交差、サブセット、スーパーセット
以下ではコードを使用します各メソッドの使用法を詳しく説明します
s1 = {1,2,3,4,5} s2 = {3,4,5,6,7} print('交集:',s1 & s2) #可用&或者intersection,输出一个新的集合,包含共同拥有的元素 print('交集:',s1.intersection(s2)) print('并集:',s1 | s2) #可用|或者union,输出一个新的集合,包含两个集合中所有的元素(去重) print('并集:',s1.union(s2)) print('差集:',s1 - s2) #可用 - 或者difference,输出一个新的集合,包含前一个集合中除去共有的元素 print('差集:',s1.difference(s2)) print('反交集:',s1 ^ s2) #可用^或者 symmetric_difference,输出一个新的集合,包含两个集合中除去共有的元素后剩余的所有元素 print('反交集:',s1.symmetric_difference(s2))
交集: {3, 4, 5} 交集: {3, 4, 5} 并集: {1, 2, 3, 4, 5, 6, 7} 并集: {1, 2, 3, 4, 5, 6, 7} 差集: {1, 2} 差集: {1, 2} 反交集: {1, 2, 6, 7} 反交集: {1, 2, 6, 7}
サブセットとスーパーセット。簡単に言えば、あるセットの要素には別のセットのすべての要素が含まれます。「大きい」セットはスーパーセットと呼ばれ、「小さい」セットはスーパーセットと呼ばれます。 subset
s1 = {1,2,3} s2 = {1,2,3,4,5} print(s1.issubset(s2)) #输出为True,s1是s2的子集 print(s2.issuperset(s1))#输出为True,s2是s1的超集 ---------- True True
さらに、frozenset('set name') を使用すると、セットを不変セットに変えることができます
以上がPython コレクションの概念は何ですか? Python コレクションの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。