Python基礎入門(十一) 集合set

2021-07-30 21:05:17 字數 2888 閱讀 1295

1、什麼是set

1)與dict(字典)區別:

dict的作用是建立一組 key 和一組 value 的對映關係,dict的key是不能重複的。

set 持有一系列元素,這一點和 list 很像,但是set的元素沒有重複,而且是無序的,這點和 dict 的 key很像。

2)建立 set 的方式

呼叫 set() 並傳入乙個 list,list的元素將作為set的元素:

如:

s = set(['a', 'b', 'c'])

>>> print s

set(['a','b','c'])

注意:set內部儲存的元素是

無序的。

3)去重性

set不能包含重複的元素

,所以,當我們傳入包含重複元素的 list

,set會自動去掉重複的元素

例子:

2、 set內部儲存的元素是

無序的。所以

訪問 set中的某個元素實際上就是判斷乙個元素是否在set中。 通過

「in」操作符判斷

例子:

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

>>> 'bart' in s

true

>>>'bill' in s

false

>>>'bart' in s

flase

例子:由於上述set不能識別小寫的名字,請改進set,使得'adam'和'bart'都能返回true

解答:

第一、set的內部結構和dict很像,唯一區別是不儲存value,因此,判斷乙個元素是否在set中速度很快。

第二、set儲存的元素和dict的key類似,必須是不變物件,因此,任何可變物件是不能放入set中的。

第三、set儲存的元素也是沒有順序的

應用 星期一到星期日可以用字串'mon', 'tue', ... 'sun'表示。判斷使用者的輸入是否是乙個有效的星期呢?

step1:可以建立乙個set,包含'mon'~'sun'
weekdays = set(['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'])

# 使用者輸入的字串

step2:

再判斷輸入是否有效

if x in weekdays:

print 'input ok'

else:

print 'input error'

例子:月份也可以用set表示,請設計乙個set並判斷使用者輸入的月份是否有效。

月份可以用字串'jan', 'feb', ...表示。

解答:

4、遍歷set

直接使用 for 迴圈可以遍歷 set 的元素:

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

>>>for name in s:

.....    print name

例子:請用 for 迴圈遍歷如下的set,列印出

name: score來。

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

for x in s:

print x

列印出:  

('lisa',85)

('adam',95)

('bart',59)

利用的tuple的元素位置列印出

name:score樣式

5、更新set

set儲存的是

一組不重複的無序元素更新set有兩種情況: 一、

把新的元素新增到set中,新增用add()方法 二、

把已有元素從set中刪除,刪除用remove()方法

例子:

s = set([1, 2, 3])
新增:  s.add(4)

print s ==> set([1,2,3,4])

刪除:s.remove(2)      

print s ==> set([1,3,4])

注意:  用add()可以直接新增元素,而remove()前需要判斷。

練習:針對下面的set,給定乙個list,對list中的每乙個元素,如果在set中,就將其刪除,如果不在set中,就新增進去。

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

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

解答:

Python 極簡教程(十一)集合 set

集合 set 是一種可變,無序和不重複的序列。集合是python的序列之一,集合沒有列表 list 元組 tuple 和字典 ditc 常見。但是有時候也有奇效。我們先來看個集合的例子 s type s s 就是乙個集合 set 資料型別就是set。我們可以仔細觀察一下集合 set 的形態 可以簡單...

python入門基礎 集合

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

Python基礎之 一 集合 set

集合 是乙個無序的,不重複的資料組合。主要作用 去重 把列表變成集合就自動去重 關係測試 測試倆組資料的交集,差集,並集等關係 關係測試共有7種,如下 名稱 方法名 簡寫符號 解釋 交集 s.intersection t s t 返回乙個新的 set 包含 s 和 t 中的公共元素 並集 s.uni...