Python基礎之集合和資料型別轉換

Roc Huang發表於2020-10-02

Set集合

1.概述

set與dict類似,也是一組key的集合,但與dict的區別在於set不儲存value

本質:無序且無重複元素的集合

2.set的建立

語法:

set1 = set([1, 2, 3, 4, 5])

注意:建立set需要一個list或者tuple或者dict作為輸入集合,重複的元素在set中會被自動的過濾

s1 = set([1, 2, 3, 4, 5])
print(s1)
3.set操作

3.1 set.add()

注意:

1.可以新增重複的元素,但是不會有效果

2.add 的元素不能是列表或者字典,因為他們是可變的

s1 = set([1, 2, 3, 4, 5])
s1.add(6)
s1.add((2, 3, 4))
print(s1)
#結果
{1, 2, 3, 4, 5, 6, (2, 3, 4)}

3.2 set.update()

功能:插入整個list、tuple、字串打碎插入

注意:不能直接插入數字

s1 = set([1, 2, 3, 4, 5])
s1.update([4,"anam","hha"])
s1.update("hello")
print(s1)
#結果
{1, 2, 3, 4, 5, 'anam', 'l', 'o', 'h', 'e', 'hha'}

3.3 set.remove(元素)

功能:刪除元素

s1 = set([1, 2, 3, 4, 5])
s1.remove(3)
print(s1)

3.4 遍歷元素

語法:

for i in set :

print(i)

注意:set是無序的,因此不能通過下標獲取元素

for index, data in enumerate(set):

​ print(index, data)

可以通過這種方式,來強行新增下標

s1 = set([1, 2, 3, 4, 5])
for i in s1:
	print(i)

for index,data in enumerate(s1):
	print(index, data)

3.5 交集與並集

語法:

交集 newest = set1 & set2

並集 newest = set1 | set2

s1 = set([1, 2, 3, 4, 5])
s2 = set([4, 5, 6, 7])
s3 = s1 & s2
s4 = s1 | s2
print(s3)
print(s4)
#結果
{4, 5}
{1, 2, 3, 4, 5, 6, 7}

型別轉換

主要針對幾種儲存工具:list、tuple、dict、set

特殊之處:dict是用來儲存鍵值對的

1 list 轉換為set
l1 = [1, 2, 4, 5]
s1 = set(l1)
print(type(s1))
print(s1)

2 tuple 轉換為set

t1 = (1, 2, 3, 4)
s1 = set(t1)
print(type(s1))
print(s1)

3 set轉換為list

s1 = set([1, 2, 3, 4])
l1 = list(s1)
print(type(l1))
print(l1)

4 set轉換為tuple

s1 = set([1, 2, 3, 4])
t1 = tuple(s1)
print(type(t1))
print(t1)

相關文章