# Python 3 # Python 3基本數據類型(3)

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>


# Python 3 # Python 3基本數據類型(3)


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、創建空字典使用 { }



分享到:


相關文章: