有序的集合
通過偏移來取資料
屬於不可變的物件,不能在原地修改內容,沒有排序,修改等操作。
在處理一組物件時,這個組預設是元組型別。
注: tuple型別轉換,想修改先用list方法將元組轉換成列表,再將修改後的列表用tuple方法生成新元組
那為什麼有列表還要有元組呢
(元組不可變的好處)保證資料的安全,比如我們傳給乙個不熟悉的方法或者資料介面,確保方法或者介面不會改變我們的資料從而導致程式問題。
集合是沒有順序的概念。所以不能用切片和索引操作。
建立集合。set():預設是可變的 frozenset():不可變的
新增操作:add,update
刪除 remove
成員關係 in,not in
交集,並集,差集 & | -
set去重:利用集合的單一性清除列表內容重複的元素。
info = set('abc')
info.add('python')##新增單個物件到集合裡
print info
info.update('python')##把物件裡的每個元素新增到集合裡
print info
info.remove('python')
print info
t = frozenset('haha') ##不能進行新增,修改和刪除的操作。
print
'a'in info
print
'h'in t
print
'jay'
notin info
print set('abc') == set('cba')
print set('abc') | set('cbdef') ##並集
print set('abc') & set('cbdef') ##交集
print set('abc') - set('cbdef') ##差集
liststr = ['haha','gag','hehe','haha']
for迴圈在set中的小應用:
m =
for i in liststr:
if i not
in m:
print m
m = set(liststr)
print list(m)
字典是無序的,它不能通過偏移來訪問,只能通過鍵來訪問。
字典 =
key類似我們現實的鑰匙,而value則是鎖。乙個鑰匙開乙個鎖,內部沒有順序,通過鍵來讀取內容,可巢狀,方便我們組織多種資料結構,並且可以原地修改裡面的內容,屬於可變型別。
組成字典的鍵必須是不可變的資料型別,比如,數字,字串,元組等,列表等可變物件不能作為鍵.即鍵key必須是可雜湊(hashable)的。
不允許乙個鍵對應多個值。
定義方法:info =
dict內建方法:info = dict(name='lilei',age=20)
info['phone'] = 'iphone5'
update()的引數是乙個字典的型別,他會覆蓋相同鍵的值。
info['phone'] = 'htc'
info.update()
del info['phone'] #刪除某個元素
info.clear() #刪除字典的全部元素
info.pop('name') #注意和列表pop方法的區別
返回布林值,比如:
phone in info
info.has_key('phone')
keys(): 返回的是列表,裡面包含了字典的所有鍵。
values():返回的是列表,裡面包含了字典的所有值。
items():生成乙個字典的容器:[()]
get():從字典中獲得乙個資料
info.get('name')
info.get('age2',』22』) #第二個引數可選,設定時表示沒有該鍵時返回的預設值。
hash():本身並不是為字典設計的方法,可以判斷某個物件是否可以做乙個字典的鍵。將乙個物件作為引數傳遞給hash()返回這個物件的雜湊值。
python 基本資料結構 列表 元組及字典
python基本資料結構 列表,元組及字典 一 列表 一組有序專案的集合。可變的資料型別 可進行增刪改查 列表是以方括號 包圍的資料集合,不同成員以 分隔。列表中可以包含任何資料型別,也可包含另乙個列表 列表可通過序號訪問其中成員 常用列表操作 list.pop 刪除成員,刪除第i個成員 list....
Python 基本資料結構
列表是python裡的內建的型別之一,可以新增和刪除其中的元素。如 role sam 33 dean 37 可以列表中包含列表,同一列表中包含不同型別的資料。下面介紹列表的一些通用操作,關於list的其他用法,可以通過help list 檢視。a 2,13,12,41,17,23 a 1 列表從0開...
python 基本資料結構
1.切片 sname start?step sname 為序列名稱 start 不指定 預設為0 包含 end 不包含 step 不指定 預設為1 2.序列可以通過 相加 song1 a,b song2 c,d print song1 song2 3.序列相乘 song1 a print song1...