溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python集合怎么創建并使用

發布時間:2022-10-17 14:42:23 來源:億速云 閱讀:164 作者:iii 欄目:編程語言

這篇文章主要介紹“Python集合怎么創建并使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python集合怎么創建并使用”文章能幫助大家解決問題。

集合是無序元素的集合,集合中的元素不可重復,并且創建完成后,其中的元素不可更改。但是整個集合是可以更改的,我們可以向其增加元素,也可以從中刪除元素。也就是說,我們無法修改集合中的元素,但是我們可以對整個集合進行添加或者是刪除等更改的操作。 集合的創建非常簡單,只需要將以逗號分隔的元素放在花括號 {} 中,{元素1,元素2,元素3,...,元素n}。

1.集合的創建

不知道大家是否有個武俠夢呢,我從小就喜歡看武俠小說,以及根據小說改編的各種電視劇,最愛的就是氣度翩翩的趙敏,黎姿版的趙敏真的是一眸一笑深入人心… 我們來創建一個名為 novels 的集合,集合中的元素為武俠小說的名稱,讓我們在集合的世界里暢游武俠江湖!

novels = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}
print(novels)

集合中的元素不可重復,如果有重復元素,重復的元素將被忽略。

novels = {'飛狐外傳', '飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print(novels)

集合中有兩個元素 '飛狐外傳',但是打印的集合中,只顯示一個飛狐外傳,集合中的第二個元素 '飛狐外傳' 被認定為是重復元素,被忽略,沒有顯示。

2.集合的訪問

在介紹集合時,提到了集合中的元素是無序的?。斜?、元組都是有序的) 元素的順序主要應用在索引中,集合中的元素是無序的,也就無法應用索引進行訪問了。 那么訪問集合中的元素可以通過哪些方式呢? 我們可以通過 for 循環來遍歷集合的元素,另外,還可以使用 in 關鍵字來判斷集合中是否存在某個元素。我們首先來看通過 for 循環遍歷集合的元素。

2.1 for循環

novels = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

for novel in novels:
    print(novel)

2.2 in

使用 in 關鍵字來判斷集合中是否存在某個元素,如果元素在集合內,返回 True,如果元素不在集合內,返回 False,運行下方語句:

novels = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print('鴛鴦刀' in novels)
print('越女劍' in novels)

3.集合的修改

可以對整個集合進行一些修改。

3.1 add() and update()

add() 和 update() 都可用于向集合添加元素。 語法規則為:集合名.add(元素名)、集合名.update({元素1,元素2,...,元素n}) 我們看到 add() 和 update() 的一個區別是 add() 添加的是一個元素;update() 添加的是集合或者是列表,添加的是多個元素。

novels = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記'}

novels.add('笑傲江湖')
print(novels)
novels.add('書劍恩仇錄')
print(novels)
novels.add('神雕俠侶')
print(novels)

novels.update({'俠客行', '倚天屠龍記'})  # update 的參數為集合
print(novels)
novels.update(['碧血劍', '鴛鴦刀'])
print(novels)  # update 的參數為列表

執行 add() 和 update() 的語句后,在集合結尾處添加了相應的元素。

3.2 discard() and remove()

除了可以對整個集合添加元素,我們還可以刪除集合中的元素。discard() 和 remove() 用于從集合中刪除元素。語法規則為:集合名.discard()、集合名.remove()。這兩個函數的區別在于,從集合中刪除一個不存在的元素時,discard() 不會執行任何操作,而 remove() 會拋出一個異常。

3.2.1 刪除存在的元素

首先看一下刪除存在的元素,discard() 和 remove()的使用是一樣的,結果也是一樣的。

novels = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

novels.discard('飛狐外傳')
print(novels)
novels.remove('雪山飛狐')
print(novels)
3.2.2 刪除不存在的元素

對于刪除不存在的元素,discard() 不會執行任何操作,而 remove() 會拋出一個異常。 大家在刪除集合中的元素時,要靈活掌握這些方法!

4.集合的操作

在數學中,也學習到了集合的相關概念,在數學中,我們可以對集合進行一系列的操作,比如并集、交集和差集。Python 中的集合,我們也可以做相應的操作,實現 Python 集合的并集、交集和差集。 我們先一起來看下 Python 中集合的并集:

4.1 并集

在數學中,關于并集的定義是:給定兩個集合A,B,把他們所有的元素合并在一起組成的集合,叫做集合 A 與集合 B 的并集,記作 A∪B,讀作 A 并 B。Python 中的并集也是一個含義,將集合 A 和集合 B 的所有元素合并在一起,就組成了集合 A 和集合 B 的并集。Python 中,實現集合并集可以使用 union() 和 | 操作符。

4.1.1 union()

我們先來看下使用 union() 實現集合的并集,語法規則為:集合1.union(集合2),運行下方語句:

novels_1 = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖'}
novels_2 = {'鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print(novels_1.union(novels_2))
print(novels_2.union(novels_1))
4.1.2 |

也可以使用 | 對兩個集合進行并集的運算,語法規則為 集合1|集合2,運行下方語句:

novels_1 = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖'}
novels_2 = {'鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print(novels_1 | novels_2)

4.2 交集

繼續一起來看交集:A,B 是兩個集合,由所有屬于集合 A 且屬于集合 B 的元素所組成的集合,叫做集合 A 與集合 B 的交集(intersection),記作 A∩B。我們使用 intersection() 和 & 實現不同集合間的交集。

4.2.1 intersection()

可以實現集合 A 和集合 B 的交集運算,語法規則是 集合1.intersection(集合2),運行下方語句 :

novels_1 = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖'}
novels_2 = {'鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print(novels_1.intersection(novels_2))
print(novels_2.intersection(novels_1))
4.2.2  &

& 也可以實現集合 A 和集合 B 的交集運算,語法規則是 集合1 & 集合2,運行下方語句:

novels_1 = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖'}
novels_2 = {'鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print(novels_1 & novels_2)

4.3 差集

集合 A 和集合 B 中,只屬于其中一個集合,不屬于另一個集合的元素。比如屬于集合 A 不屬于集合 B 的元素集合,或者是屬于集合 B 不屬于集合 A 的元素集合。

4.3.1 difference()

可以使用 difference() 來實現差集的運算,語法規則為集合1.difference(集合2):即實現屬于集合 1 不屬于集合 2 的差集,我們一起運行下方語句:

novels_1 = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖'}
novels_2 = {'鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print(novels_1.difference(novels_2))
print(novels_2.difference(novels_1))

當集合 novels_1 在 difference() 之前時,打印的是屬于集合 novels_1 不屬于集合 novels_2 的元素集合,集合 novels_2 在 difference() 之前時,打印的是屬于集合 novels_2 不屬于集合 novels_1 的元素集合。

4.3.2 -

我們可以使用-來實現差集的運算,語法規則為 集合1-集合2:即實現屬于集合 1 不屬于集合 2 的差集,我們一起運行下方語句:

novels_1 = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖'}
novels_2 = {'鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print(novels_1 - novels_2)
print(novels_2 - novels_1)

4.4 對稱差集

對稱差集就是屬于集合 A,不屬于集合 B 的以及屬于集合 B 不屬于集合 A 的元素集合,就是集合 A 與集合 B 的并集減去集合 A 與集合 B 的交集。

4.4.1 symmetric_difference()

我們可以使用 symmetric_difference() 來實現對稱差集的運算,語法規則是:集合1.symmetric_difference(集合2),一起來運行下方語句:

novels_1 = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖'}
novels_2 = {'鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print(novels_1.symmetric_difference(novels_2))
print(novels_2.symmetric_difference(novels_1))
4.4.2 ^

我們可以使用 ^ 來實現對稱差集的運算,語法規則是:集合1^集合2,一起來運行下方語句:

novels_1 = {'飛狐外傳', '雪山飛狐', '連城訣', '天龍八部', '射雕英雄傳', '白馬嘯西風', '鹿鼎記', '笑傲江湖'}
novels_2 = {'鹿鼎記', '笑傲江湖', '書劍恩仇錄', '神雕俠侶', '俠客行', '倚天屠龍記', '碧血劍', '鴛鴦刀'}

print(novels_1 ^ novels_2)
print(novels_2 ^ novels_1)

關于“Python集合怎么創建并使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女