第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁(yè) 慕課教程 Python 入門(mén)語(yǔ)法教程 Python 入門(mén)語(yǔ)法教程 14 Python 數(shù)據(jù)類(lèi)型詳細(xì)篇:集合

Python 數(shù)據(jù)類(lèi)型詳細(xì)篇:集合

這節(jié)課是數(shù)據(jù)類(lèi)型篇最后一節(jié)了,這節(jié)課我們來(lái)講下集合數(shù)據(jù)類(lèi)型,集合這個(gè)數(shù)據(jù)類(lèi)型很特殊,到底是個(gè)怎么特殊法,下面我們一起來(lái)看下:

1. 簡(jiǎn)介

1.1 定義

集合是一個(gè)無(wú)序、不重復(fù)的序列,集合中所有的元素放在 {} 中間,并用逗號(hào)分開(kāi),例如:

  • {1, 2, 3},一個(gè)包含 3 個(gè)整數(shù)的列表
  • {‘a(chǎn)’, ‘b’, ‘c’},一個(gè)包含 3 個(gè)字符串的列表

1.2 集合與列表的區(qū)別

在 Python 中,集合與列表的區(qū)別如下:

  • 列表中的元素允許重復(fù),集合中的元素不允許重復(fù),示例如下:
>>> x = {1, 1, 2, 3}
>>> x
{1, 2, 3}

在以上程序中,元素 1 被重復(fù)了 2 次,在創(chuàng)建集合時(shí),重復(fù)的元素被合并成一個(gè)。

  • 列表是有序的,提供了索引操作,集合是無(wú)序的,沒(méi)有索引操作,示例如下
>>> x = {1, 2, 3}
>>> x[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'set' object does not support indexing

在以上程序中,試圖使用索引操作符訪問(wèn)集合的第 0 項(xiàng)元素。集合是無(wú)序的,不提供索引操作,運(yùn)行時(shí)出錯(cuò),提示: ‘set’ object does not support indexing。

2. 常見(jiàn)運(yùn)算操作

本節(jié)介紹對(duì)集合的最常見(jiàn)的幾種運(yùn)算操作,包括:

2.1 運(yùn)算符 |

使用運(yùn)算符 | 合并兩個(gè)集合,示例如下:

>>> {1, 2} | {3, 4}
{1, 2, 3, 4}
>>> {1, 2} | {3, 4} | {5, 6}
{1, 2, 3, 4, 5, 6}
  • 在第 1 行,使用運(yùn)算符 | 合并兩個(gè)集合
  • 在第 3 行,使用運(yùn)算符 | 合并多個(gè)集合

2.2 運(yùn)算符 -

使用運(yùn)算符 - 從集合中刪除元素,示例如下:

>>> {1, 2, 3, 4} - {3, 4}
{1, 2}
  • 在第 1 行,使用運(yùn)算符 - 從集合 {1, 2, 3, 4} 中刪除集合 {3, 4} 包含的元素

2.3 關(guān)鍵字 in

通過(guò)關(guān)鍵字 in 檢查集合中是否包含指定元素,示例如下:

>>> 'imooc' in {'www', 'imooc', 'com'}
True
>>> 'mooc' in {'www', 'imooc', 'com'}
False
  • 在第 1 行,檢測(cè)字符串 ‘imooc’ 在集合中
  • 在第 3 行,檢測(cè)字符串 ‘mooc’ 不在集合中

3. 常見(jiàn)函數(shù)

3.1 len(set) 函數(shù)

使用函數(shù) len 獲取集合的長(zhǎng)度,示例如下:

>>> len({1, 2, 3})
3
>>> len({1, 2, 3, 4})
4

3.2 max(set) 函數(shù)

使用函數(shù) max 獲取集合中最大的元素,示例如下:

>>> max({1, 2})
2
>>> max({1, 3, 2})
3

3.3 min(set) 函數(shù)

使用函數(shù) min 獲取集合中最小的元素,示例如下:

>>> min({1, 2})
1
>>> min({1, 3, 2})
1

4. 常見(jiàn)方法

4.1 add(item) 方法

add(item) 方法向集合中新增一個(gè)元素 item,示例如下:

>>> x = {1, 2, 3}
>>> x.add(4)
>>> x
{1, 2, 3, 4}
  • 在第 2 行,使用 add 方法向集合中新增一個(gè)元素 4
  • 在第 4 行,顯示列表中已經(jīng)增加了一個(gè)元素

4.2 remove(item) 方法

remove(item) 方法從集合中刪除指定元素 item,示例如下:

>>> x = {'www', 'imooc', 'com'}
>>> x.remove('imooc')
>>> x
{'www', 'com'}
  • 在第 2 行,使用 remove 方法從集合中刪除一個(gè)元素 ‘imooc’
  • 在第 4 行,顯示列表中已經(jīng)刪除了一個(gè)元素

4.3 clear() 方法

clear() 方法移除集合中的所有元素,示例如下:

>>> x = {1, 2, 3}
>>> x
{1, 2, 3}
>>> x.clear()
>>> x
set()
  • 在第 1 行,創(chuàng)建了一個(gè)包含 3 個(gè)元素的集合
  • 在第 4 行,使用 clear() 方法移除集合中的所有元素
  • 在第 5 行,顯示集合,結(jié)果表明所有元素都被刪除了

4.4 union() 方法

union() 方法返回兩個(gè)集合的并集,示例如下:

>>> x = {1, 2, 3}
>>> y = {4, 5, 6}
>>> z = x.union(y)
>>> z
{1, 2, 3, 4, 5, 6}
  • 在第 3 行,使用 union() 方法返回集合 x 和集合 y 的并集
  • 在第 4 行,顯示兩個(gè)集合的并集

4.5 intersection() 方法

intersection() 方法返回兩個(gè)集合的交集,示例如下:

>>> x = {1, 2, 3}
>>> y = {2, 3, 4}
>>> z = x.intersection(y)
>>> z
{2, 3}
  • 在第 3 行,使用 intersection() 方法返回集合 x 和集合 y 的交集
  • 在第 4 行,顯示兩個(gè)集合的交集

4.6 issubset() 方法

issubset() 方法判斷指定集合是否為子集,示例如下:

>>> x = {1, 2, 3}
>>> y = {1, 2}
>>> y.isubset(x)
True
  • 在第 3 行,使用 issubset() 方法判斷集合 y 是否為集合 x 的子集
  • 在第 4 行,結(jié)果表明集合 {1, 2} 是集合 {1, 2, 3} 的子集

4.7 issuperset() 方法

issuperset() 方法判斷指定集合是否為超集,示例如下:

>>> x = {1, 2, 3}
>>> y = {1, 2}
>>> x.isuperset(y)
True
  • 在第 3 行,使用 issuperset() 方法判斷集合 x 是否為集合 y 的超集
  • 在第 4 行,結(jié)果表明集合 {1, 2, 3} 是集合 {1, 2} 的超集

5. 小結(jié)

集合不存在重復(fù)元素這一特性能用來(lái)干的事情非常多。比如說(shuō)一個(gè)學(xué)校要把全校所有學(xué)生的信息錄入到系統(tǒng)中,為了避免某一學(xué)生的信息重復(fù)錄入只需要把信息存入集合就可以避免這一錯(cuò)誤。