Python 元組、列表、字典和集合

來源:互聯網
上載者:User

標籤: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 元組、列表、字典和集合

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.