第4章:介绍python对象类型/4.1 python的核心数据类型/4.7 集合
集合概念
集合類似字典,也是用大括號括起來的{ }
元素之間用逗號隔開
元素在集合中是唯一的
集合元素允許修改和刪除,但是元素本身的值不能修改
集合是沒有順序的,所以不能通過下標獲取集合的某個元素
集合創建
>>> X = set(["abc","xyz","xxx"])? 以列表形式創建集合,列表每個項都是元素
??????
>>> X
??????
{'xxx', 'abc', 'xyz'}
>>> X = set("abc")?? 以字符串形式創建集合,單個字符都是元素
>>> X
{'a', 'b', 'c'}
>>> X = set({1:"abc",2:"xyz",3:"xxx"}) 以字典形式創建集合,集合的KEY都是元素? ??
>>> X
{1, 2, 3}
集合不能通過下標訪問
>>> X[0]?? 集合是沒有順序的,所以不能通過下標獲取集合的某個元素
Traceback (most recent call last):
? File "<pyshell#300>", line 1, in <module>
??? X[0]
TypeError: 'set' object does not support indexing
集合追加元素和刪除元素
>>> X.add('a')
>>> X
{'a', 1, 2, 3}
>>> X.remove(2)
>>> X
{'a', 1, 3}
>>>
集合交集
>>> X
{'a', 1, 3}
>>> Y
{'a', 'z', 'b', 'h'}
>>> X &Y
{'a'}
集合并集
>>> X
{'a', 1, 3}
>>> Y
{'a', 'z', 'b', 'h'}
>>> X | Y
{'a', 1, 'z', 3, 'b', 'h'}
集合差集
>>> X
{'a', 1, 3}
>>> Y
{'a', 'z', 'b', 'h'}
>>> X - Y
{1, 3}
>>>
集合for運算
>>> for item in set('abc'):print(item *3)
ccc
aaa
bbb
>>>
元素是否在集合中判斷
>>> S = set('abc')
>>> 'a' in S
True
>>> 'e' in S
False
>>>
兩個集合是否互為父子集合判斷
>>> S = set({1,2,3})
>>> S.issubset(range(0,5))? range(0,5)的范圍是:0,1,2,3,4,5
True
>>>
>>> S = set("123")
>>> S.issubset(range(0,5))??? 字符1,2,3和數字1,2,3是不一樣的
False
>>> S
{('a', 'b', 'c'), 1, 2, 3}
>>> ('a','b','c') in S ? 判斷元組是否存在集合
True
>>> S
{('a', 'b', 'c'), 1, 2, 3}
>>> {1,2}? < S?? 用符號比較
True
>>> {1,2,3}? < S
True
>>> {1,2,3,4}? < S
False
>>>
集合不能嵌入列表和字典
>>> S
{1, 2, 3}
>>> S.add(['a','b','c'])
Traceback (most recent call last):
? File "<pyshell#93>", line 1, in <module>
??? S.add(['a','b','c'])
TypeError: unhashable type: 'list'
>>> S.add({1:'a',2:'b',3:'c'})
Traceback (most recent call last):
? File "<pyshell#94>", line 1, in <module>
??? S.add({1:'a',2:'b',3:'c'})
TypeError: unhashable type: 'dict'
>>>
?集合可以嵌入元組
>>> S.add(('a','b','c'))
>>> S
{('a', 'b', 'c'), 1, 2, 3}
>>>
集合解析
>>> {x for x in 'abcd'}
{'d', 'c', 'a', 'b'}
>>> {x**2 for x in [1,2,3,4]}
{16, 1, 4, 9}
>>> {x*4 for x in 'abcd'}
{'aaaa', 'cccc', 'dddd', 'bbbb'}
>>>
集合幫助列表去重
>>> L = [1,2,3,4,5,6,7,1,2,3,4]
>>> L = list(set(L))
>>> L
?[1, 2, 3, 4, 5, 6, 7]
>>>
元素存在一個集合但不存在另外集合
>>> S
{('a', 'b', 'c'), 1, 2, 3}
>>> X = {1,2}
>>> S^X??? 用操作符: ^
{('a', 'b', 'c'), 3}
>>>
*?打折課程大放送
1.?【圖解+筆記】Python從入門到進階大合集詳細講解(含500條筆記):http://edu.51cto.com/sd/99cf7
2.?【筆記式】Python基礎入門--八大數據結構篇(含200條筆記):http://edu.51cto.com/sd/f967d
3.?【筆記式】Python基礎入門--語句函數篇(含150條筆記):http://edu.51cto.com/sd/eea85
4.?【圖解+筆記】Python進階-模塊、包、面向對象篇(含200條筆記):http://edu.51cto.com/sd/43049
5.?【筆記式】Maven從入門到進階大合集詳細講解(含200條筆記):http://edu.51cto.com/sd/09299
6.?【筆記式】Maven基礎入門--坐標倉庫私服(含100條筆記):http://edu.51cto.com/sd/e1387
7.?【筆記式】Maven高級進階--插件測試屬性配置(含100條筆記):http://edu.51cto.com/sd/f3fda
轉載于:https://blog.51cto.com/12074015/2339102
總結
以上是生活随笔為你收集整理的第4章:介绍python对象类型/4.1 python的核心数据类型/4.7 集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ-2299
- 下一篇: websocket python爬虫_p