Tuple(元組)
元組(tuple)與列表類似,不同之處在於元組的元素不能修改。元組寫在小括號
() 裡,元素之間用逗號隔開。元組中的元素類型也可以不相同:
實例
#!/usr/bin/python3 tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 ) tinytuple = (123, 'runoob') print (tuple) # 輸出完整元組 print (tuple[0]) # 輸出元組的第一個元素 print (tuple[1:3]) # 輸出從第二個元素開始到第三個元素 print (tuple[2:]) # 輸出從第三個元素開始的所有元素 print (tinytuple * 2) # 輸出兩次元組 print (tuple + tinytuple) # 連接元組
以上實例輸出結果:
<code>('abcd', 786, 2.23, 'runoob', 70.2)abcd(786, 2.23)(2.23, 'runoob', 70.2)(123, 'runoob', 123, 'runoob')('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')/<code>
元組與字符串類似,可以被索引且下標索引從0開始,-1 為從末尾開始的位置。也可以進行截取(看上面,這裡不再贅述)。
其實,可以把字符串看作一種特殊的元組。
實例
>>>tup = (1, 2, 3, 4, 5, 6) >>> print(tup[0]) 1 >>> print(tup[1:5]) (2, 3, 4, 5) >>> tup[0] = 11 # 修改元組元素的操作是非法的 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment >>>/<module>/<stdin>
雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表。
構造包含 0 個或 1 個元素的元組比較特殊,所以有一些額外的語法規則:
<code>tup1 = () # 空元組tup2 = (20,) # 一個元素,需要在元素後添加逗號/<code>
string、list 和 tuple 都屬於 sequence(序列)。
注意:
- 1、與字符串一樣,元組的元素不能修改。
- 2、元組也可以被索引和切片,方法一樣。
- 3、注意構造包含 0 或 1 個元素的元組的特殊語法規則。
- 4、元組也可以使用+操作符進行拼接。
Set(集合)
集合(set)是由一個或數個形態各異的大小整體組成的,構成集合的事物或對象稱作元素或是成員。
基本功能是進行成員關係測試和刪除重複元素。
可以使用大括號 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { } ,因為 { } 是用來創建一個空字典。
創建格式:
<code>parame = {value01,value02,...}或者set(value)/<code>
實例
#!/usr/bin/python3 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} print(student) # 輸出集合,重複的元素被自動去掉 # 成員測試 if 'Rose' in student : print('Rose 在集合中') else : print('Rose 不在集合中') # set可以進行集合運算 a = set('abracadabra') b = set('alacazam') print(a) print(a - b) # a 和 b 的差集 print(a | b) # a 和 b 的並集 print(a & b) # a 和 b 的交集 print(a ^ b) # a 和 b 中不同時存在的元素
以上實例輸出結果:
<code>{'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}Rose 在集合中{'b', 'a', 'c', 'r', 'd'}{'b', 'd', 'r'}{'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}{'a', 'c'}{'l', 'r', 'z', 'm', 'b', 'd'}/<code>
Dictionary(字典)
字典(dictionary)是Python中另一個非常有用的內置數據類型。
列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典是一種映射類型,字典用 { } 標識,它是一個無序的 鍵(key) : 值(value) 的集合。
鍵(key)必須使用不可變類型。
在同一個字典中,鍵(key)必須是唯一的。
實例
#!/usr/bin/python3 dict = {} dict['one'] = "1 - 菜鳥教程" dict[2] = "2 - 菜鳥工具" tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'} print (dict['one']) # 輸出鍵為 'one' 的值 print (dict[2]) # 輸出鍵為 2 的值 print (tinydict) # 輸出完整的字典 print (tinydict.keys()) # 輸出所有鍵 print (tinydict.values()) # 輸出所有值
以上實例輸出結果:
<code>1 - 菜鳥教程2 - 菜鳥工具{'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}dict_keys(['name', 'code', 'site'])dict_values(['runoob', 1, 'www.runoob.com'])/<code>
構造函數 dict() 可以直接從鍵值對序列中構建字典如下:
實例
>>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)]) {'Taobao': 3, 'Runoob': 1, 'Google': 2} >>> {x: x**2 for x in (2, 4, 6)} {2: 4, 4: 16, 6: 36} >>> dict(Runoob=1, Google=2, Taobao=3) {'Runoob': 1, 'Google': 2, 'Taobao': 3}
另外,字典類型也有一些內置的函數,例如clear()、keys()、values()等。
注意:
- 1、字典是一種映射類型,它的元素是鍵值對。
- 2、字典的關鍵字必須為不可變類型,且不能重複。
- 3、創建空字典使用 { }。
閱讀更多 數據分析一波 的文章