Python學習筆記(五) 集合(set)

2021-07-31 23:33:36 字數 1791 閱讀 8900

建立 set 的方式是呼叫 set() 並傳入乙個 list,list的元素將作為set的元素:

s = set(['adam', 'lisa', 'bart', 'paul'])
set不能包含重複的元素,所以,當我們傳入包含重複元素的 list ,set會自動去掉重複的元素。

s = set(['adam', 'lisa', 'lisa','bart', 'paul'])

print s

執行結果:

set(['adam', 'lisa', 'bart', 'paul'])

由於set是乙個無效列表,故無法像list一樣通過索引來訪問,訪問set其實也就是判斷 元素是否存在於 set中,故我們可以通過 in 操作來實現:

s = set(['adam', 'adam', 'lisa', 'lisa', 'bart', 'bart', 'paul', 'paul'])

print

'adam'

in s

print

'bart'

in s

① set 內部儲存與dict相似,但是不儲存value,故訪問速度快

②set的元素與dict類似,必須是不可變元素

③set儲存的元素也是沒有順序的。

months = set(['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'])

x1 = 'feb'

x2 = 'sun'

if x1 in months:

print

'x1: ok'

else:

print

'x1: error'

if x2 in months:

print

'x2: ok'

else:

print

'x2: error'

執行結果:

x1: ok

x2: error

使用for迴圈遍歷如下set

s = set([('adam', 95), ('lisa', 85), ('bart', 59)])

forx in s:

print

x[0], ":", x[1]

print ("%s:%d")%x

# 兩種print結果是一樣的

新增:add(),新增如果set中已有,則不會新增,set中沒有,才會新增

刪除:remove(),如果set中已該元素,則成功刪除,set中沒有,會報錯

s = set(['adam', 'lisa', 'paul'])

l = ['adam', 'lisa', 'bart', 'paul']

s.add('bart')

s.remove('adam')

s.remove('lisa')

print s

資料結構

建立元素

list

符號或list()建立

元素可變

tuple

()符號或tuple()建立

元素不可變

set{}符號或set()建立

元素不可重複

dict

{}符號或dict()建立

存放的鍵值對

del語句:可以刪除這些資料結構其中的元素也可以刪除變數。

java基礎(五) 集合

1.集合與陣列的區別 1 陣列不可變長度,集合可變長度 2 陣列裡可放基本資料型別和物件,集合只能放物件 2.集合框架頂層介面collection的共性方法 增 add object obj addall collection c 刪 clear remove object obj removeal...

任務五。集合的運算

printf 該兩集合是否相等 n xd a,b,x,y printf n printf 該兩個集合的並集結果如下 n bing a,b,x,y printf n printf 該兩個集合的交集結果如下 n jiao a,b,x,y printf n printf 該a b集合的相對補集結果如下 n...

PL SQL複習五 集合方法

1.exists 判斷某集合元素是否存在 declare type ename table type is table of emp.ename type ename table ename table type begin if ename table.exists 1 then dbms out...