Python基礎入門 集合 阿里雲天池

2021-10-09 09:17:04 字數 3748 閱讀 8159

集合

python 中set與dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。

注意,key為不可變型別,即可雜湊的值。

【例子】

num =

print

(type

(num))#

num =

print

(type

(num)

)#

集合的建立

先建立物件再加入元素。

在建立空集合的時候只能使用s = set(),因為s = {}建立的是空字典。

【例子】

basket =

set(

)basket.add(

)basket.add(

'banana'

)print

(basket)

【例子】

basket =

print

(basket)

【例子】

a =

set(

'abracadabra'

)print

(a)#

b =set((

"google"

,"lsgogroup"

,"taobao"

,"taobao"))

print

(b)#

c =set([

"google"

,"lsgogroup"

,"taobao"

,"google"])

print

(c)#

【例子】去掉列表中重複的元素

lst =[0

,1,2

,3,4

,5,5

,3,1

]temp =

for item in lst:

if item not

in temp:

print

(temp)

# [0, 1, 2, 3, 4, 5]

a =set

(lst)

print

(list

(a))

# [0, 1, 2, 3, 4, 5]

[0, 1, 2, 3, 4, 5]

[0, 1, 2, 3, 4, 5]

從結果發現集合的兩個特點:無序 (unordered) 和唯一 (unique)。

由於 set 儲存的是無序集合,所以我們不可以為集合建立索引或執行切片(slice)操作,也沒有鍵(keys)可用來獲取集合中元素的值,但是可以判斷乙個元素是否在集合中。

訪問集合中的值

可以使用len()內建函式得到集合的大小。

【例子】

# 3可以使用for把集合中的資料乙個個讀取出來。

【例子】

# taobao可以通過in或not in判斷乙個元素是否在集合中已經存在

【例子】

# true集合的內建方法

set.add(elmnt)用於給集合新增元素,如果新增的元素在集合中已存在,則不執行任何操作。

【例子】

fruits =

fruits.add(

"orange"

)print

(fruits)

fruits.add(

)print

(fruits)

set.update(set)用於修改當前集合,可以新增新的元素或集合到當前集合中,如果新增的元素在集合中已存在,則該元素只會出現一次,重複的會忽略。

【例子】

x =

y =x.update(y)

print

(x)y.update(

["lsgo"

,"dreamtech"])

print

(y)

set.remove(item) 用於移除集合中的指定元素。如果元素不存在,則會發生錯誤。

【例子】

fruits =

fruits.remove(

"banana"

)print

(fruits)

set.discard(value) 用於移除指定的集合元素。remove() 方法在移除乙個不存在的元素時會發生錯誤,而 discard() 方法不會。

【例子】

fruits =

fruits.discard(

"banana"

)print

(fruits)

集合的轉換

【例子】

se =

set(

range(4

))li =

list

(se)

tu =

tuple

(se)

print

(se,

type

(se)

)#

print

(li,

type

(li)

)# [0, 1, 2, 3]

print

(tu,

type

(tu)

)# (0, 1, 2, 3)

[0, 1, 2, 3]

(0, 1, 2, 3)

不可變集合

python 提供了不能改變元素的集合的實現版本,即不能增加或刪除元素,型別名叫frozenset。需要注意的是frozenset仍然可以進行集合操作,只是不能用帶有update的方法。

frozenset([iterable]) 返回乙個凍結的集合,凍結後集合不能再新增或刪除任何元素。

【例子】

a =

frozenset

(range(10

))# 生成乙個新的不可變集合

print

(a)# frozenset()

b =frozenset

('lsgogroup'

)print

(b)# frozenset()

frozenset()

frozenset()

python入門基礎 集合

不允許有重複元素,如果新增重複元素,則會自動過濾,可以進行交集 並集的運算。s1 set 空集合 不能是 這是字典 s2 print s1 print set 30,40,50 通過列表建立 print set 11,22,33 通過元組建立 print set hello 通過字串建立 print...

Python基礎入門 集合(set)

1.是否為序列型別 即該資料的元素是否能夠索引.其中序列型別的包括str list tuple 2.是否可以原處修改 即該資料的元素是否能夠原處修改 特別提醒看官,這裡說的是原處修改問題,有的資料裡面說str不能修改,也是指原處修改問題.為了避免誤解,特別強調了原處 能夠原處修改的list dict...

阿里雲基礎

slb serevr load balance 負載均衡 dns domain name system 網域名稱系統 ecs elatics compule service 彈性計算伺服器 rds relational datebase service 關聯式資料庫 cdn content deli...