人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Python中基礎(chǔ)數(shù)據(jù)類型 set集合知識(shí)點(diǎn)總結(jié)

發(fā)布日期:2022-02-20 09:33 | 文章來源:站長之家

集合的簡(jiǎn)介

  • 集合是一個(gè)無序、不重復(fù)的序列
  • 它的基本用法包括成員檢測(cè)和消除重復(fù)元素
  • 集合對(duì)象也支持像 聯(lián)合,交集,差集,對(duì)稱差分等數(shù)學(xué)運(yùn)算
  • 集合中所有的元素放在 {} 中間,并用逗號(hào)分開

集合的例子

這里會(huì)有個(gè)重點(diǎn)知識(shí)

# 聲明
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)
set_ = {1, 1, 1, 1, 2}
print(set_)

# 輸出結(jié)果
{'orange', 'pear', 'banana', 'apple'}
{1, 2}

自動(dòng)去重了,每個(gè)元素只保留一個(gè),且是無序的

再來看一個(gè)例子

set_ = {{1, }, {1, }}
print(set_)
set_ = {[1, ], [2, ]}
print(set_)

# 輸出結(jié)果
 set_ = {{1, }, {1, }}
TypeError: unhashable type: 'set'

 set_ = {[1, ], [2, ]}
TypeError: unhashable type: 'list'

為什么報(bào)錯(cuò)?

重點(diǎn):因?yàn)?set 集合只能包含不可變對(duì)象元素,而列表、集合本身都是可變對(duì)象,所以會(huì)報(bào)錯(cuò)

集合和列表的區(qū)別

列表中的元素允許重復(fù),集合中的元素不允許重復(fù)
列表是有序的,提供了索引操作,集合是無序的,沒有索引操作

set_ = {1, 1, 1, 1, 2}
set[1]

# 輸出結(jié)果
 set[1]
TypeError: 'type' object is not subscriptable

提示該類型不能下標(biāo)

特殊集合

如何創(chuàng)建一個(gè)空集合

set_ = {}
print(set_, type(set_))

# 輸出結(jié)果
{} <class 'dict'>

不可以直接 { },這樣默認(rèn)是一個(gè)空字典哦

正確寫法

set_ = set()
print(set_, type(set_))

# 輸出結(jié)果
set() <class 'set'>

常見運(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}

運(yùn)算符 -

從集合中刪除元素

>>> {1, 2, 3, 4} - {3, 4, 5, 6}
{1, 2}

運(yùn)算符 &

取交集,返回兩個(gè)集合都包含的元素

>>> {1, 2, 3} & {3, 4, 5}
{3}

運(yùn)算符 ^

取差集

>>> {1, 2, 3} ^ {3, 4, 5}
{1, 2, 4, 5}

關(guān)鍵字 in

檢查集合中是否包含指定元素

>>> 'polo' in {'www', 'polo', 'com'}
True
>>> 'yy' in {'www', 'yyy', 'com'}
False

常見函數(shù)

len(set)

獲取集合的長度

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

max(set)

獲取集合中最大的元素

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

min(set)

獲取集合中最小的元素

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

集合常見方法

add(item)

向集合中新增一個(gè)元素 item

# add
set_ = {1, 2, 3}
set_.add(1)
set_.add(4)
set_.add("5")
print(set_)

# 輸出結(jié)果

{1, 2, 3, 4, '5'}

remove(item)

從集合中刪除指定元素 item

# remove
set_ = {1, 2, 3}
set_.remove(2)
print(set_)

# 輸出結(jié)果
{1, 3}

clear()

移除集合中的所有元素

# remove
set_ = {1, 2, 3}
print(set_)
set_.clear()
print(set_)

# 輸出結(jié)果
{1, 2, 3}
set()

pop()

移除集合首位元素,并返回該元素值

# pop
a = {1, 2, 3, 4}
print(a.pop())
print(a.pop())
print(a)

# 輸出結(jié)果
1
2
{3, 4}

difference()

從源集合中找出目標(biāo)集合中沒有的元素集合

# difference
a = {1, 2, 3, 4}
b = {2, 3, 5}
print(a.difference(b))

# 輸出結(jié)果
{1, 4}

union()

返回兩個(gè)集合的并集

# union
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.union(set2))

# 輸出結(jié)果
{1, 2, 3, 4, 5}

intersection()

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

# intersection
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.intersection(set2))

# 輸出結(jié)果
{3}

issubset()

判斷指定集合是否為子集

# issubset
set1 = {1, 2}
set2 = {1, 2, 3}
print(set1.issubset(set2))

# 輸出結(jié)果
True

issuperset()

判斷指定集合是否為超集

# issuperset
set1 = {1, 2, 3}
set2 = {1, 2}
print(set1.issuperset(set2))

# 輸出結(jié)果
True

集合總結(jié)

因?yàn)榧鲜遣豢芍貜?fù)的,所以可以利用它來處理一些需要避免重復(fù)插入的場(chǎng)景,比如為了避免某一學(xué)生的信息重復(fù)錄入

以上就是Python中基礎(chǔ)數(shù)據(jù)類型 set集合知識(shí)點(diǎn)總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Python基礎(chǔ)數(shù)據(jù)類型 set 集合的資料請(qǐng)關(guān)注本站其它相關(guān)文章!

海外穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部