日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

集合添加元素python_Python 集合(Set)

發(fā)布時(shí)間:2023/12/20 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 集合添加元素python_Python 集合(Set) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python 集合(Set)

在本文中,您將學(xué)習(xí)關(guān)于Python集的所有內(nèi)容;如何創(chuàng)建它們、添加或刪除其中的元素,以及在Python中對(duì)集合執(zhí)行的所有操作。

Python中的集合是什么?

集合是項(xiàng)目的無序集合。每個(gè)元素都是唯一的(沒有重復(fù)項(xiàng)),并且必須是不可變的(不能更改)。

但是,集合本身是可變的。我們可以在其中添加或刪除項(xiàng)目。

集合可用于執(zhí)行數(shù)學(xué)集合運(yùn)算,例如并集,交集,對(duì)稱差等。

如何創(chuàng)建集合?

通過將所有項(xiàng)目(元素)放在大括號(hào){}中并用逗號(hào)分隔或使用內(nèi)置函數(shù)來創(chuàng)建集合set()。

它可以具有任意數(shù)量的項(xiàng)目,并且它們可以具有不同的類型(整數(shù),浮點(diǎn)數(shù),元組,字符串等)。但是集合不能具有可變?cè)?#xff08;例如list,set或dictionary)作為其元素。

示例# 整數(shù)集

my_set = {1, 2, 3}

print(my_set)

# 混合數(shù)據(jù)類型集

my_set = {1.0, "Hello", (1, 2, 3)}

print(my_set)

也嘗試以下示例。

示例# 無重復(fù)集合

# 輸出: {1, 2, 3, 4}

my_set = {1,2,3,4,3,2}

print(my_set)

#set不能包含可變項(xiàng)

#這里[3,4]是可變列表

#如果您取消注釋第12行,

#這將導(dǎo)致錯(cuò)誤。

# TypeError: unhashable type: 'list'

#my_set = {1, 2, [3, 4]}

# 我們可以從列表中生成集合

# 輸出: {1, 2, 3}

my_set = set([1,2,3,2])

print(my_set)

創(chuàng)建一個(gè)空集有點(diǎn)特殊。

空括號(hào){}將在Python中創(chuàng)建一個(gè)空字典。為了建立一個(gè)沒有任何元素的集合,我們使用沒有任何參數(shù)的set()函數(shù)。

示例# 用{}初始化

a = {}

# 檢查a的數(shù)據(jù)類型

# 輸出:

print(type(a))

# 初始化使用 set()

a = set()

# 檢查a的數(shù)據(jù)類型

# 輸出:

print(type(a))

如何在Python中更改集合?

集是可變的。但是由于它們是無序的,因此索引沒有意義。

我們無法使用索引或切片來訪問或更改集合的元素。集不支持它。

我們可以使用add()方法添加單個(gè)元素,使用update()方法添加多個(gè)元素。update()方法可以采用元組,列表,字符串或其他集合作為其參數(shù)。在所有情況下,都避免重復(fù)。

示例# 初始化 my_set

my_set = {1,3}

print(my_set)

# 如果取消注釋第9行,

# 你會(huì)得到一個(gè)錯(cuò)誤

# TypeError: 'set' object does not support indexing

#my_set[0]

# 增加一個(gè)元素

# 輸出: {1, 2, 3}

my_set.add(2)

print(my_set)

# 增加多個(gè)元素

# 輸出: {1, 2, 3, 4}

my_set.update([2,3,4])

print(my_set)

# 增加 list 和set

# 輸出: {1, 2, 3, 4, 5, 6, 8}

my_set.update([4,5], {1,6,8})

print(my_set)

運(yùn)行該程序時(shí),輸出為:{1, 3}

{1, 2, 3}

{1, 2, 3, 4}

{1, 2, 3, 4, 5, 6, 8}

如何從集合中刪除元素?

可以使用discard()和remove()方法從集合中刪除特定項(xiàng)目。

兩者之間的唯一區(qū)別是,如果使用discard(),而項(xiàng)目不存在于集合中,則它保持不變。但是remove()在這種情況下會(huì)引發(fā)錯(cuò)誤。

以下示例將說明這一點(diǎn)。

示例# 初始化 my_set

my_set = {1, 3, 4, 5, 6}

print(my_set)

# 拋棄一個(gè)元素

# 輸出: {1, 3, 5, 6}

my_set.discard(4)

print(my_set)

# 移除已個(gè)元素

# 輸出: {1, 3, 5}

my_set.remove(6)

print(my_set)

# 拋棄一個(gè)元素

# 沒有出現(xiàn)在 my_set

# 輸出: {1, 3, 5}

my_set.discard(2)

print(my_set)

# remove一個(gè)元素

# 沒有出現(xiàn)在 my_set

# 如果沒有注釋#my_set.remove(2),

# 會(huì)拋出一個(gè)錯(cuò)誤.

# Output: KeyError: 2

#my_set.remove(2)

同樣,我們可以使用pop()方法刪除并返回一個(gè)項(xiàng)目。

集合為無序,無法確定將彈出哪個(gè)項(xiàng)目。這是完全任意的。

我們還可以使用clear()方法刪除集合中的所有項(xiàng)目。

示例# 初始化 my_set

# 輸出: 唯一元素集

my_set = set("HelloWorld")

print(my_set)

# pop一個(gè)元素

# 輸出: 隨機(jī)元素

print(my_set.pop())

# pop 任意元素

# Output:隨機(jī)元素

my_set.pop()

print(my_set)

# 清空 my_set

#輸出: set()

my_set.clear()

print(my_set)

Python 集合操作

集合可用于執(zhí)行數(shù)學(xué)集合運(yùn)算,例如并集,交集,差和對(duì)稱差。我們可以通過運(yùn)算符或方法來實(shí)現(xiàn)。。

讓我們考慮以下兩組用于以下操作。>>> A = {1, 2, 3, 4, 5}

>>> B = {4, 5, 6, 7, 8}

集合并集

A和B的并集是來自這兩個(gè)集合的所有元素的集合。

并集是使用|操作符執(zhí)行的。也可以使用union()方法來完成。

示例# 初始化 A 和 B

A = {1, 2, 3, 4, 5}

B = {4, 5, 6, 7, 8}

# 使用 | 運(yùn)算符

# 輸出: {1, 2, 3, 4, 5, 6, 7, 8}

print(A | B)

在Python shell上嘗試以下示例。# 使用union 函數(shù)

>>> A.union(B)

{1, 2, 3, 4, 5, 6, 7, 8}

# 在B上使用并集函數(shù)

>>> B.union(A)

{1, 2, 3, 4, 5, 6, 7, 8}

集合相交

A和B的交集是在這兩個(gè)集合中共有的一組元素。

交點(diǎn)使用&運(yùn)算符執(zhí)行。使用intersection()方法可以完成相同的操作。

示例# 初始化 A 和 B

A = {1, 2, 3, 4, 5}

B = {4, 5, 6, 7, 8}

# 使用 & 運(yùn)算符

# 輸出 : {4, 5}

print(A & B)

在Python shell上嘗試以下示例。# 在A上使用交集函數(shù)

>>> A.intersection(B)

{4, 5}

# 在B上使用交集函數(shù)

>>> B.intersection(A)

{4, 5}

集合差異

A和B的差(A-B)是僅在A中但不在B中的一組元素。類似地,B-A是B中但不在A中的一組元素。

差異是使用 -運(yùn)算符執(zhí)行的。使用difference()方法可以完成相同的操作。

示例# 初始化 A 和 B

A = {1, 2, 3, 4, 5}

B = {4, 5, 6, 7, 8}

# 在A上使用 - 運(yùn)算符

# Output: {1, 2, 3}

print(A - B)

在Python shell上嘗試以下示例。# 在A上使用差異函數(shù)

>>> A.difference(B)

{1, 2, 3}

# 在B上使用-運(yùn)算符符

>>> B - A

{8, 6, 7}

# 在B上使用差異函數(shù)

>>> B.difference(A)

{8, 6, 7}

集合對(duì)稱差異

A和B的對(duì)稱差異是A和B中的一組元素,但兩者中的元素相同。

對(duì)稱差使用^運(yùn)算符執(zhí)行。使用symmetric_difference()方法可以完成相同的操作。

示例# 初始化 A 和 B

A = {1, 2, 3, 4, 5}

B = {4, 5, 6, 7, 8}

# 使用 ^ 運(yùn)算符

# 輸出: {1, 2, 3, 6, 7, 8}

print(A ^ B)

在Python shell上嘗試以下示例。# 在A上使用symmetric_difference函數(shù)

>>> A.symmetric_difference(B)

{1, 2, 3, 6, 7, 8}

# 在B上使用symmetric_difference函數(shù)

>>> B.symmetric_difference(A)

{1, 2, 3, 6, 7, 8}

不同的Python集合方法

集合方法很多,上面已經(jīng)使用了其中的一些方法。這是set對(duì)象可用的所有方法的列表。Python Set方法方法描述

將元素添加到集合中

從集合中刪除所有元素

返回集合的副本

返回兩個(gè)或多個(gè)集合的差作為新集合

如果元素是成員,則從集合中刪除它。(如果元素不在集合中,則不執(zhí)行任何操作)

返回兩個(gè)集合的交集作為新集合

True如果兩個(gè)集合的交點(diǎn)為空,則返回

返回 True另一個(gè)集合是否包含此集合

返回 True此集合是否包含另一個(gè)集合

刪除并返回一個(gè)任意的set元素。提高KeyError,如果集合為空

從集合中刪除一個(gè)元素。如果元素不是成員,則引發(fā)一個(gè)KeyError

返回新集合中集合的并集

用自身和其他元素的并集更新集合

其他集合操作

集合會(huì)員資格測(cè)試

我們可以使用in關(guān)鍵字來測(cè)試項(xiàng)目是否存在于集合中。

示例# 初始化 my_set

my_set = set("apple")

# 檢查“a”是否存在

# 輸出: True

print('a' in my_set)

# 檢查“p”是否存在

# 輸出: False

print('p' not in my_set)

遍歷集合

使用for循環(huán),我們可以遍歷集合中的每個(gè)項(xiàng)目。>>> for letter in set("apple"):

... print(letter)

...

a

p

e

l

集合與內(nèi)置函數(shù)

內(nèi)置函數(shù)如all()、any()、enumerate()、len()、max()、min()、sort()、sum()等常用來與set一起執(zhí)行不同的任務(wù)。帶內(nèi)置功能功能描述

如果集合的所有元素都為true(或者集合為空),則返回True。

如果集合中的任何元素為true,則返回True。 如果集合為空,則返回False。

返回一個(gè)枚舉對(duì)象。它包含成對(duì)的所有項(xiàng)的索引和值。

返回集合中的長(zhǎng)度(項(xiàng)目數(shù))。

返回集合中最大的項(xiàng)目。

返回集合中最小的項(xiàng)目。

從集合中的元素返回一個(gè)新的排序列表(不對(duì)集合本身進(jìn)行排序)。

返回集合中所有元素的總和。

Python Frozenset

Frozenset是具有集合特征的新類,但是一旦分配,就不能更改其元素。元組是不可變列表,而凍結(jié)集是不可變集。

可變的集合不可散列,因此不能用作字典鍵。另一方面,frozenset是可哈希化的,可用作字典的鍵。

此數(shù)據(jù)類型支持的方法,如copy(),difference(),intersection(),isdisjoint(),issubset(),issuperset(),symmetric_difference()和union()。由于不可變,因此沒有添加或刪除元素的方法。

示例# 初始化 A 和 B

A = frozenset([1, 2, 3, 4])

B = frozenset([3, 4, 5, 6])

在Python shell上嘗試這些示例。>>> A.isdisjoint(B)

False

>>> A.difference(B)

frozenset({1, 2})

>>> A | B

frozenset({1, 2, 3, 4, 5, 6})

>>> A.add(3)

...

AttributeError: 'frozenset' object has no attribute 'add'

總結(jié)

以上是生活随笔為你收集整理的集合添加元素python_Python 集合(Set)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。