Python數據類型二
一、列表
1.list的定義
序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。Python有6個序列的內置類型,但最常見的是列表和元組。序列都可以進行的操作包括索引,切片,加,乘,檢查成員。此外,Python已經內置確定序列的長度以及確定最大和最小的元素的方法。
列表是最常用的Python數據類型,它可以作為一個方括號內的逗號分隔值出現。列表的數據項不需要具有相同的類型。創建一個列表,只要把逗號分隔的不同的數據項使用方括號括起來即可。如下所示:
list1 = [‘physics‘, ‘chemistry‘, 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"]
2.list常用的方法
append():在列表末尾添加新的對象。程序例子與結果如下:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print(a) a.append(‘hello‘) print(a)
pop():移出列表中的一個元素(默認是最後一個元素),並且返回該元素的值。如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print(a) a.pop() print(a)
index():從列表中找出某個值第一個匹配項的索引位置。如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print(a) print(a.index(‘ad‘))
insert():將對象插入到列表中。如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print(a) a.insert(0,‘momo‘) print(a) a.insert(3,‘huang‘) print(a)
remove():移除列表中某個值的第一個匹配項,如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] a.append(‘ad‘) print (a) a.remove(‘ad‘) print(a)
sort():對原列表進行排序,如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print (a) a.sort() print(a)
reverse():反向列表中元素,如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print (a) a.reverse() print(a)
3.切片
切片的時候需要註意,取的是最後一位數字-1
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print (a) print(a[3:]) print(a[1:5]) print(a[1:5:2])
二、元組(tuple)
1.tuple的定義
Python的元組與列表類似,不同之處在於元組的元素不能修改。元組使用小括號,列表使用方括號。元組創建很簡單,只需要在括號中添加元素,並使用逗號隔開即可。如下實例:
tup1 = (‘physics‘, ‘chemistry‘, 1997, 2000) tup2 = (1, 2, 3, 4, 5 ) tup3 = "a", "b", "c", "d"
創建空元組:
tup1 = ()
元組中只包含一個元素時,需要在元素後面添加逗號:
tup1 = (50,)
元組與字符串類似,下標索引從0開始,可以進行截取,組合等。
2.tuple常用的方法
count():查找元素在tuple中出現的次數,如下所示:
t1 = (‘a‘,‘b‘,‘x‘,‘a‘,‘a‘,‘d‘) print(t1.count(‘a‘))
index():查找元素的第一個索引值,若元素不存在,程序會報錯。如下所示
t1 = (‘a‘,‘b‘,‘x‘,‘a‘,‘a‘,‘d‘) print(t1) print(t1.index(‘a‘)) print(t1.index(‘x‘))
三、字典
1.字典的定義
字典是另一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
鍵必須是唯一的,但值則不必。值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。字典有三種賦值方式,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print(k) print(type(k)) k1 = dict(a=1,b=2,c=3) print(k1) d = dict([(‘name‘,‘huangdongju‘),(‘age‘,20)]) print(d)
2.字典常用的方法
get():返回指定鍵的值,如果值不在字典中返回default值,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.get(‘name‘)) print(k.get(‘age‘)) print(k.get(‘address‘))
setdefault():和get()類似,但如果鍵不存在與字典中,將會添加鍵並將值設為default,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.setdefault(‘name‘)) print(k.setdefault(‘age‘,‘beijing‘)) print(k.setdefault(‘address‘,‘beijing‘)) print (k)
keys():以列表返回一個字典所有的鍵,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.keys())
values():以列表返回字典中的所有值,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.values())
iteritems():返回一個叠代器,一般不單獨使用。item():以列表返回可遍歷的(鍵, 值) 元組數組。如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.iteritems()) print(k.items()) for x,y in k.iteritems(): print(x,y)
pop():Python 字典 pop() 方法刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) k.pop(‘name‘) print(k)
fromkeys():創建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值,如下所示:
l = [‘a‘,‘b‘,‘c‘,‘d‘] m = {} n = m.fromkeys(l,123) n = dict.fromkeys(l,123) print(n)
zip():接受任意多個(包括0個和1個)序列作為參數,返回一個tuple列表。如下所示:
l1 = [‘a‘,‘b‘,‘c‘,‘d‘] l2 = [1,2,3,4] dict_test = dict(zip(l1,l2)) print(dict_test)
update():把字典dict2的鍵/值對更新到dict裏,如下所示:
print (dict_test) k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) dict_test.update(k) print(dict_test)
3.字典的排序
sorted(dic,value,reverse) :dic為比較函數,value 為排序的對象(這裏指鍵或鍵值), reverse:註明升序還是降序,True--降序,False--升序(默認)
Python數據類型二