python 內建資料結構set

2021-09-10 22:39:39 字數 3134 閱讀 8921

# -*- coding: utf-8 -*-

'''內建資料結構 --- set

''''''

set(集合)

- 一堆確定的無序的唯一的資料,集合中的每乙個資料稱為乙個元素

'''#集合的建立

s =set()

print

(type

(s))

print

(s)#此時,大括號內一定要有值,否則定義出的是乙個dict

s =#如果只是用大括號定義,則定義的是乙個dict型別

d =print

(type

(d))

print

(d)'''

1、集合的特徵

集合內資料無序,即無法使用索引和分片

集合內部資料元素具有唯一性,可以用來排除重複資料

集合內的資料,str、int、float、tuple、冰凍集合,即內部只能

放置可雜湊的資料

簡要的說可雜湊的資料型別,即不可改變的資料結構(字串str、元組tuple、物件集objects)。

為什麼說字串是可雜湊的,因為字串本來就不是可變的,a=』1』 a=』2』,實際上是a的指標變化了,

從』1』的記憶體位址 指向了 『2』 的記憶體位址,我們通過檢查一下物件記憶體位址來簡要解釋一下:

str1 = '1'

print(id(str1))

str1 = '2'

print(id(str1))

# - 輸出

79192448

92888512

# - 可見 str1的指標指向的記憶體位址發生了改變

# - 實際上'1','2'一旦存在,只要不銷毀,記憶體位址一直不會發生改變

# - 故而字串 可雜湊123456789101112

那麼同理,不可雜湊的資料型別,即可改變的資料結構 (字典dict,列表list,集合set)

''''''

2、集合序列操作

成員檢測

遍歷操作

帶有元組的集合遍歷

'''s =

print

(s)if

"action"

in s:

print

("yes"

)for i in s:

print

(i)s =

for k,m,n in s:

print

(k,"--"

, m,

"--"

, n)

'''3、集合的內涵

普通集合內涵

帶條件集合內涵

多迴圈的集合內涵

'''s =

print

(s)ss =

print

(ss)

sss =

print

(sss)

s1 =

s2 =

s =print

(s)'''

4、關於集合的函式

len、max、min、set(生成乙個集合)

clear:清空set中的值

copy: 拷貝

remove: 移除集合中指定的值,直接改變原有值,如果移除的值不存在,報錯

discard: 移除集合中指定的值,直接改變原有值,如果移除的值不存在,不報錯

pop: 隨機移除乙個元素

'''s =

print

(len

(s))

print

(max

(s))

print

(min

(s))

l =[1,

2,3,

4,5]

s =set

(l)print

(s)s.add(67)

print

(s)s.add(2)

print

(s)s =

print(id

(s))

s.clear(

)print(id

(s))

#remove和discard區別(「脾氣不好」和「脾氣好」)

ss =

print

(ss)

ss.remove(45)

print

(ss)

ss.discard(45)

print

(ss)

s =b = s.pop(

)print

(b)print

(s)'''

5、關於集合的操作的函式

intersection: 交集

difference: 差集

union: 並集

issubset: 檢查乙個集合是否為另乙個子集

issuperset: 檢查乙個集合是否為另乙個的超集

'''s1 =

s2 =

s_1 = s1.intersection(s2)

print

(s_1)

s_2 = s1.difference(s2)

print

(s_2)

s_3 = s1.union(s2)

print

(s_3)

s_4 = s1.issubset(s2)

print

(s_4)

s_5 = s1.issuperset(s2)

print

(s_5)

'''6、關於集合的數學操作的函式

- is ok, + is not allowed

'''s =

ss =

s_1 = ss - s

print

(s_1)

s_2 = s - ss

print

(s_2)

'''7、frozen set:冰凍集合,就是不可以進行任何修改的集合

'''s =

frozenset()

print

(type

(s))

print

(s)ss =

s_1 = ss - s

print

(s_1)

python內建資料結構 Python內建資料結構

分類 數值型int float complex bool 序列物件 list string tuple 鍵值對set集合 dict字典 數值型int python3中的int都是長整型,沒有大小限制,但受限於記憶體區域的大小 float 浮點型,由整數部分和小數部分組成。complex 複數,由實數...

python內建資料結構

數列物件 鍵值對 型別轉換 built in int 取整數部分 整除且向下取整 min 取最小值 max 取最大值 pow x,y 等價於x y math.sqrt 開平方 進製函式,返回值是字串 math.pi math.e 自如常數 count value 時間複雜度 len 不產生新列表,就...

Python內建資料結構

分類 數字處理函式 進製函式,返回字串 型別判斷 列表索引訪問 列表查詢 列表元素修改 列表增加 插入元素 列表尾部追加元素,返回none 即不產生新列表,就地修改 時間複雜度為o 1 追加元素全部輸出為乙個整體 insert index,object 在指定索引位置插入元素object,返回non...