Python知識(shí)分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Python 集合set
匿名網(wǎng)友發(fā)布于:2023-09-12 10:35:18
(侵權(quán)舉報(bào))

Python 7天快速入門完整視頻教程https://www.bilibili.com/video/BV1o84y1Z7J1

 

Python    集合set

 

 

集合set

 

集合是多個(gè)元素的集合,但是不能有重復(fù)元素,區(qū)別于列表[],元組()和字符串""。

 

集合的定義

 

賦值定義

集合變量名稱 ={ 元素1, 元素2, 元素3, 元素4, ... }

空集合定義

集合變量名稱 = set()

 

# 定義集合
set1 = {"php", "java", "python"}
print(f"set1={set1},type={type(set1)}")

# 定義空集合
set2 = set()
print(f"set2={set2},type={type(set2)}")

 

輸出結(jié)果:

 

set1={'java', 'python', 'php'},type=<class 'set'>
set2=set(),type=<class 'set'>

 

 

集合的常用方法

 

因?yàn)榧鲜菬o(wú)序的,所以集合不支持下標(biāo)索引訪問。

集合和列表一樣,也是可以修改的。

 

1,add(元素),添加元素到集合,假如元素集合里存在,則忽略

 

set1 = {"php", "java", "python"}
set1.add("c")
set1.add("python")
print(set1)

 

2,pop(),隨機(jī)從集合中獲取一個(gè)元素,并且返回。

 

# pop(),隨機(jī)從集合中獲取一個(gè)元素,并且返回
set2 = {"php", "java", "python"}
ele = set2.pop()
print(set2, ele)

 

3,clear(),清空集合

 

set3 = {"php", "java", "python"}
set3.clear()
print(set3)

 

4,集合1.difference(集合2) 返回差集 (集合1有但是集合2沒有的新集合)

 

set4 = {"a", "b", "c"}
set5 = {"a", "d", "e"}
print(set4.difference(set5))
print(set4)
print(set5)

 

5,集合1.difference_update(集合2) ,刪除差集。集合1內(nèi),刪除和集合2相同的元素

 

set6 = {"a", "b", "c"}
set7 = {"a", "d", "e"}
set6.difference_update(set7)
print(set6)
print(set7)

 

輸出結(jié)果:

 

{'b', 'c'}
{'a', 'e', 'd'}

 

6,集合1.union(集合2),返回合并集合1,集合2后的新集合

 

set8 = {"a", "b", "c"}
set9 = {"a", "d", "e"}
set10 = set8.union(set9)
print(set10)
print(set8)
print(set9)

 

輸入結(jié)果:

 

{'b', 'd', 'c', 'a', 'e'}
{'b', 'c', 'a'}
{'d', 'e', 'a'}

 

7,len(集合)統(tǒng)計(jì)元素個(gè)數(shù)

 

set11 = {"a", "b", "c"}
print(len(set11))

 

 

集合的遍歷

 

因?yàn)榧喜恢С窒聵?biāo)索引,所以不能用while循環(huán)

我們用for循環(huán)遍歷

 

set12 = {"php", "java", "python"}
for ele in set12:
    print(ele)

 

作業(yè):有列表對(duì)象 list1 = ['python', 'java', 'php', 'java']

要求,通過定義一個(gè)新的集合對(duì)象,遍歷列表,通過add添加到集合里,實(shí)現(xiàn)去重。

 

 

轉(zhuǎn)載自: