1. 程式人生 > >列表 元組 字典

列表 元組 字典

    資料型別:列表,元組和字典。

    list類  列表

 #1 list類的格式:li=[1,45,'adf',['safe',1,True],(11,'asdf',),{'name':'fdf','age':432,}]

    #2 列表中可以放置任何型別;

    中括號括起來

     分割每個元素

    列表中的元素可以是數字、字串、布林值、列表、元組、字典。。。。所有的都能放進去

    #3 索引取值     print(li[3])

    #4 切片取值,切片結果也是列表  print(li[3:-1])

    #5 for迴圈                                     for   item   in    li:

         while迴圈             print(item)

 #6  列表元素可以被修改

    索引修改元素           li[1]=120          li[1]=[12,34,56] 

    切片修改                   li[1:3]=[49,34]

 #7  刪除元素                     del li[1]   del li[1:3]

    #8  in 操作                 v = 1 in li    print(v)

 列表的魔法       

def   append(self,p_object)        在列表原來元素最後追加       例如:li.append(5)   li.append('alex')   li.append([1234,2323])

def  clear(self)             清除li中的元素

def  copy(self)             拷貝,是淺拷貝。深拷貝以後講解

def  count(self,value)          計算元素出現的次數

def  extend(self,iterable)         iterable是集合、可迭代物件的意思。引數是可迭代物件

def  index(self,value,start=None,stop=None)根據引數返回索引,找到第一個就返回,不再繼續,最左優先

def  insert(self,index,p_object)      指定索引位置插入

def  pop(self,index=None)        根據索引刪除一個值,並可獲取刪除的值,預設刪除最後一個

def  remove(self,value)          刪除表中指定的的元素,左邊優先

def  reverse(self)            將當前列表進行反轉

def  sort(self,key=None,reverse=False)   列表排序 reverse=False 是從小到大排序,同時也是預設排序。reverse=True是從大到小排序。老師欠了cmp 和 key  這兩個以後講

元組

元組就是對列表的加工,元素不可被修改,不能被增加或刪除,老師建議:寫元組的時候,推薦最後加入,

tu=(111,'alex',(11,33),[(33,44)],True,33,44,)

可以索引取值,也可以切片取值

可以被for迴圈:是可迭代物件。  

for item in tu

  print(item)

字串、列表、元組可以相互轉換

a = 'asdfasdf'      li = ['asdf',123]     tu = (123,123,'asd')         v = tuple(s)  字串轉為元組    v = tuple(li) 列表轉為元組

v= list(tu)     元組轉換為列表

元組的元素不可修改:是一級元素不可修改 ;元組中列表的元素可以修改;元組中列表元組的元素也不可修改

元組是有序的

元組的灰魔法

tu.counts(value) 獲取指定元素在元組中出現的次數

tu.index(value) 獲取指定元素的索引

字典           dict類

字典的基本結構  info={'k1':'v1','k2';'v2'}   'key':'value'稱為一個鍵值對     字典的value可以是任何數值型別

info={‘k1’:‘v1’,

         'k2':'v2',

           'k3':[11,[],(),22,33,{'kk1':'vv1','kk2':'vv2','kk3':(55,66),}]   ,

            'k4':(11,22,33,44)               }

數值、字串、布林值、元組可以作為字典的key    列表、字典不能作為字典的key

字典是無序的,不能切片

如果取值的話,根據自己定義的key來尋找,例如 v=info['k1']

del info['k1']  字典支援刪除元素

while對字典無效

for item in info:                           

print(item)                                            for對字典迴圈預設輸出所有的key

for item in info.keys():

print(item)

for item in info.values():                  for對字典迴圈預設輸出所有的value

print(item)      

for item in info.keys():    

print(item,info[item])                       輸出key  value 

for k,v in info.items():

print(k,v)

元組的灰魔法:

def  clear(self)          清空

def  copy(self)            拷貝,淺拷貝

def  fromkeys(*args,**kwargs)          根據序列建立字典,並指定統一的值。v=dict.fromkeys(['k1',123,'999'],123)

def  ger(self,k,d=None)       根據key取值,key不存在時,可以指定返回值,預設返回None

def  items(self)

def  keys(self)

def  pop(self,k,d=None)      移除指定的鍵值對

def  popitem(self)         隨機刪除一個鍵值對

def  selfdefault(self,k,d=None)   設定值,如果已存在,不設定,獲取當前key對應的值

def  update(self,E=None,**F)

dic={'k1':'v1','k2':'v2'}    dic.update({'k1':'1111','k3':123})

還支援以下寫法  dic.update(k1=123,k3=345,k5='asdf')

字典中常用的魔法keys()  values()  items()  get()  update()