1. 程式人生 > >Python數據類型二

Python數據類型二

遍歷 升序 from 存儲 方法 切片 count() 花括號 default

一、列表

  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數據類型二