列表、字典、元組、集合的區別


 

 

1. 列表
列表、元組、字典、集合的區別是python面試中最常見的一個問題。這個問題雖然很基礎,但確實能反映出面試者的基礎水平。

        list是處理一組有序項目的數據結構,即你可以在一個列表中存儲一個序列的項目。列表中的項目。列表中的項目應該包括在方括號中,這樣python就知道你是在指明一個列表。一旦你創建了一個列表,你就可以添加,刪除,或者是搜索列表中的項目。由於你可以增加或刪除項目,我們說列表是可變的數據類型,即這種類型是可以被改變的,並且列表是可以嵌套的。python里的列表用“[]”表示:  

lst = ['arwen',123]
print lst[0] 
print lst[1]

lst[0] = 'weiwen'

  向list中添加項有兩種方法:append和extend。

 

2. 元組

  元祖和列表十分相似,不過元組是不可變的。即你不能修改元組。元組通過圓括號中用逗號分隔的項目定義。元組通常用在使語句或用戶定義的函數能夠安全的采用一組值的時候,即被使用的元組的值不會改變。元組可以嵌套。
>>> zoo=('wolf','elephant','penguin')
>>> zoo.count('penguin')
1
>>> zoo.index('penguin')
2
>>> zoo.append('pig')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
>>> del zoo[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion

 

3. 字典
       字典類似於你通過聯系人名稱查找地址和聯系人詳細情況的地址簿,即,我們把鍵(名字)和值(詳細情況)聯系在一起。注意,鍵必須是唯一的,就像如果有兩個人恰巧同名的話,你無法找到正確的信息。
       鍵值對在字典中以這樣的方式標記:d = {key1 : value1, key2 : value2 }。注意它們的鍵/值對用冒號分割,而各個對用逗號分割,所有這些都包括在花括號中。另外,記住字典中的鍵/值對是沒有順序的。如果你想要一個特定的順 序,那么你應該在使用前自己對它們排序。
實例:
#coding=utf-8
dict1={'zhang':'張家輝','wang':'王寶強','li':'李冰冰','zhao':'趙薇'}
#字典的操作,添加,刪除,打印
dict1['huang']='黃家駒'
del dict1['zhao']
for firstname,name in dict1.items():
    print firstname,name
結果:
li 李冰冰
wang 王寶強
huang 黃家駒
zhang 張家輝

     

定義dict.fromkeys(range(30),value) 可以形成一個雙列的列表相當於java中的map,這個鍵值對列表存儲子dict中

取鍵可以通過循環 for eachkey in dict.keys(): 把所有的鍵賦值到eachkey中去

取值可以通過循環 for eachkey in dict.values(): 把所有的值賦值到eachkey中去

取鍵值對站線程元組的形式 for eachItem in dict.item(): 把所有的鍵值對轉化成元組的方式賦值給eachItem中

 

4. 集合(set)

(1) 特性:與字典類似,但只包含鍵,而沒有對應的值,包含的數據不重復。

(2) 創建:s = set(list or tuple or string)。重復的值在集合中只存在一個。如:

    列表list:s = set([1,2,3,3]) ->s = set([1,2,3])

    元組tuple:s = set((1,2,3))  ->s = set([1,2,3])

    字符串string:s = set("abc") ->s = set(["a","b","c"])


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM