標籤:python 元組 字典 集合 列表
元組
Python中的元組(Tuple)類似於Java中的數組,一旦建立了一個 tuple,就不能以任何方式改變它。這點與Python中的字串類似,所以我們說元組和字串都是不可變的序列.元組也支援索引和分區操作.
定義一個元組使用一對小(圓)括弧” ( ) “.
#定義一個元組tuple1 = (1, 2, ‘3‘, 4, ‘5‘)# 定義了一個元組之後就無法再添加或修改元組中的元素print tuple1[0] # 元組的元素都有確定的順序。元組的索引也是以0為基點的print tuple1[-1] # 負的索引從元組的尾部開始計數print tuple1[1:3] # 元組也可以進行切片操作。對元組切片可以得到新的元組。# 可以使用 in 運算子檢查某元素是否存在於元組中。print 1 in tuple1 # True#使用for in 進行遍曆元組for item in tuple1: print item# 如果需要擷取item的序號 可以使用下面的遍曆方法:for index in range(len(tuple1)): print tuple1[index]# 還可以使用內建的enumerate函數for index, item in enumerate(tuple1): print ‘%i, %s‘ % (index, item)
列表
列表是Python中最具靈活性的有序集合物件類型,與字串不同的是,列表可以包含任何種類的對象:數字,字串,甚至是其他列表.並且列表都是可變對象,它支援在原處修改的操作.也可以通過指定的索引和分區擷取元素.列表就可元組的可變版本.
定義一個列表使用一對中(方)括弧” [ ] “.與元組不同的是, 列表有一些內建的函數對列表進行增加,修改和刪除等操作.
#定義一個列表listA = [‘a‘, ‘b‘, ‘c‘, 1, 2]# 向 list 中增加元素# 1.使用append 向 list 的末尾追加單個元素。listA.append(3)# 2.使用 insert 將單個元素插入到 list 中。數值參數是插入點的索引listA.insert(3, ‘d‘) # 在下標為3處添加一個元素# 3.使用 extend 用來串連 listlistA.extend([7, 8])### extend 和 append 看起來類似,但實際上完全不同。### extend 接受一個參數,這個參數總是一個 list,### 並且把這個 list 中的每個元素添加到原 list 中。### 另一方面,append 接受一個參數,這個參數可以是任何資料類型,並且簡單地追加到 list 的尾部。# 擷取列表的長度print len(listA) # 9# 在 list 中搜尋listA.index(3) # index 在 list 中尋找一個值的首次出現並返回索引值。listA.index(‘100‘) # 如果在 list 中沒有找到值,Python 會引發一個異常。print 5 in listA # 要測試一個值是否在 list 內,使用 in。如果值存在,它返回 True,否則返為 False 。# 從 list 中刪除元素listA.remove(3) # remove 從 list 中 僅僅 刪除一個值的首次出現。如果在 list 中沒有找到值,Python 會引發一個異常print listA.pop() # pop 它會做兩件事:刪除 list 的最後一個元素,然後返回刪除元素的值。# 遍曆listfor item in listA: print item
字典
字典(Dictionary) 是 Python 的內建資料類型之一,它定義了鍵和值之間一對一的關係,但它們是以無序的方式儲存的。 Python 中的 dictionary 像 Java 中的 Hashtable 類的執行個體。
定義 Dictionary 使用一對大(花)括弧” { } ”
# 定義一個字典# Dictionary 不只是用於儲存字串。Dictionary 的值可以是任意資料類型,# 包括字串、整數、對象,甚至其它的 dictionary。# 在單個 dictionary 裡,dictionary 的值並不需要全都是同一資料類型,可以根據需要混用和匹配。dict1 = {‘name‘ : ‘LiuZhichao‘, ‘age‘ : 24, ‘sex‘ : ‘Male‘}dict1[‘name‘] = ‘Liuzc‘ # 為一個已經存在的 dictionary key 賦值,將簡單覆蓋原有的值。dict1[‘Age‘] = 25 # 在 Python 中是區分大小寫 age和Age是完全不同的兩個key# 從字典中刪除元素del dict1[‘sex‘] # del 允許您使用 key 從一個 dictionary 中刪除獨立的元素dict1.clear() # clear 從一個 dictionary 中清除所有元素
集合
Python的集合(set)和其他語言類似, 是一個無序不重複元素集, 準系統包括關係測試和消除重複元素. 集合對象還支援union(聯合), intersection(交), difference(差)和sysmmetric difference(對稱差集)等數學運算.由於集合是無序的,所以,sets 不支援 索引, 分區, 或其它類序列(sequence-like)的操作。
集合也存在不可變形式,frozenset為固定集合.
#定義一個集合set1 = {1, 2, 3, 4, 5}# 或者使用 set 函數list1 = [6, 7, 7, 8, 8, 9]set2 = set(list1)set2.add(10) # 添加新元素print set2 # set([8, 9, 6, 7]) 去掉重複內容,而且是無序的set3 = frozenset(list1)set3.add(10) # 固定集合不能添加元素### 集合有並集,交集,求差操作### 並集:intersection() 方法返回一個新集合,包含在兩個集合中同時出現的所有元素。### 交集:union() 方法返回一個新集合,包含在兩個 集合中出現的元素。### 差集:difference() 方法返回的新集合中,包含所有在 集合A出現但未在集合B中的元素。### symmetric_difference() 方法返回一個新集合,包含所有只在其中一個集合中出現的元素。# 刪除元素set2.discard(6) # 當元素不存在時,不會引發異常set2.remove(6) # 與discard的區別在於,如果沒有要刪除的元素,remove會引發一個異常set2.pop() # 因為set是無序的,所以pop會隨機的從set中刪除一個元素
Python 元組、列表、字典和集合