元組和集合是Python中的基本類型
一,元組
元組(tuple)由小括號、逗號和數據對象構成的集合,各個項通過逗號隔開,元組的特點是:
- 元組項可以是任何數據類型,也可以嵌套
- 元組是一個位置有序的對象的集合,通過偏移來訪問元組項,
- 只不過元組是不可變的,不能在原處修改;
- 元組的各個項可以重復,例如,一個元組可以是:(1, 1, 2, 2, 3)
1,創建元組
創建空的元組,一個空元組就是一個內控的小括號:
>>> t=()
創建包含一個項的元組,t=(1,)是一個元組,t=(1)是一個整數:
>>> t=(1,) (1,)
創建包含兩個項的元組:
>>> t=(1,'a')
使用tuple()函數創建元組:
>>> t=tuple('a') >>> t ('a',)
2,索引元組
- t[i]:索引元組
- t[i][j]:索引嵌套元組
- t[i:j]:元組分片
二,元組的基本操作
- len(t):元組項的數量
- t1+t2:元組的合並
- t*2 :元組的重復,相當於t+t
- x in t:檢查x是否存在於元組t中
- t.index(obj):元組中第一個項是obj的索引
- t.count(obj):元組項為obj的數量
三,集合
集合(set)是由唯一的、不可變的對象構成的無序集合,集合的特點是:
- 元素不允許重復,根據定義,一個元素在集合中只能出現一次,不管把它添加多少次。
- 集合的元素是無序的
- 集合的元素是為不可變對象
- 集合不支持索引或切片操作,也沒有鍵可用於獲取集合中的元素值
創建集合的三種方式,使用內置函數set創建集合,或者使用大括號創建集合,注意,創建一個空集合必須用 set() 。
>>> set([1,2,3,4]) {1, 2, 3, 4} >>> set('abcd') {'d', 'b', 'a', 'c'} >>> {1,2,3,4} {1, 2, 3, 4}
四,集合的基本運算
集合支持用in和not in操作符檢查元素,由len()函數得到集合元素的數量, 用 for 循環迭代集合的元素。
1,集合操作
in :元素是否存在於集合中, not in 元素不在集合中
>>> x={1,2,3,4} >>> 1 in x True
- :集合的差集,等價於x.difference(y)
>>> y={2,3,4,5} >>> x-y {1}
|:集合的並集,等價於x.union(y)
>>> x|y # x.union(y) {1, 2, 3, 4, 5}
&:集合的交集,等價於 x.intersection(y)
>>> x&y # x.intersection(y) {2, 3, 4}
^:集合的異或
>>> x ^ y {1, 5}
>, < :集合的超集(等價於x.isuperset(y)),或集合的子集(等價於x.issubset(y))
>>> x<y,x>y #x.issubset(y), x.isuperset(y) (False, False)
2,添加一個集合元素
add()用於向集合中添加一個元素,
>>> x.add(6) >>> x {1, 2, 3, 4, 6}
3,刪除集合的元素
pop()用於隨機刪除一個集合元素,remove()用於移除集合一個元素,刪除不存在的元素會報錯,discard()移除不存在的元素不會報錯。
x.pop() >>> x.remove(1) >>> x {2, 3, 4, 6}
4,update()用於歸並集合,把多個集合歸並為一個
>>> x.update({2,5}) >>> x {2, 3, 4, 5, 6}
5,集合的轉換
s = set(range(4)) li = list(s) tu = tuple(s)
參考文檔: