天天看點

python基本資料類型之------清單

一、清單----list

          清單是有序的,清單元素可以被修改

=================list之灰魔法================

1、清單格式:

  中括号括起來,

  逗号分隔每個元素,

  清單中的元素可以是數字、字元串、清單、布爾值、等所有的都能放進去

  “集合“,”内部可以放置任何東西

  li=['alex', '小名', [12, 23, 45], 23, 23, '小花']

2、清單中可以嵌套任何類型

3、可以通過索引取值,  或者切片取值(切片取值的結果也是清單)

  print(li[3])           print(li[3:-1])

4、支援for循環,   while循環。

5、清單元素可以進行修改

  索引修改: li [ 2 ] =120    print(li)

  索引切片修改: li [1:3] = [27, 28]

6、删除

  索引删除: del li [1]     print(li)

  索引切片删除: del li [2,4]    print(li)

7、支援 in 操作

  v = 'alex' in li         print(li)

8、嵌套清單查詢方式

  li=['小王',‘小甯’, [a, b, [d, e, f ],  c ], ‘小張’]

  print(li[2][2][0])

9、字元串轉換成清單

  s='abcdefg'

  li = list(s)

  print(li)

10、清單轉換成字元串

  如果清單中即有數字又有字元串,需要自己寫一個for循環

    li = [12,13,14,'xiaozhang', 'xiaowang']

    s=' '

    for i in li :

      s=s+str(i)

    print(s)

  若清單中的元素隻有字元串,直接用字元串join方法

  li = ['xiaozhang', 'xiaowang']

   v = ' '.join(li)

   print (v)

=====================list類中提供的方法===================

1、 append追加

    li = [11,22,33,44]

錯誤方法: v = li.append('alex')
          print(v)      列印出來為none,說明v中為空
因為字元串不能修改,而清單可以直接修改,是以:可以直接寫
    
          li.append('alex')
          print(li)  列印結果為:[...'alex']
  或者: li.append(['alex'])
      print(li)  列印結果為: [...['alex']]       
2、clear清空清單

    li.clear()
    print(li)


3、copy拷貝
    淺拷貝:v=li.copy()
                print(v)


4、count 計算元素出現的次數

    v = li.count(22)
    print(v)


5、extend 擴充原清單
   參數必須是:iterable可疊代對象(能被for循環)
    
         li.extend([1992,'xiaowang'])
         print(li)
         列印結果為:[...,1992, 'xiaowang']
或者   li.extend('小王同學')
         print(li)
         列印結果為:['小',‘王‘,‘同’, ’學’]          
6、index 擷取目前值的索引位置(最左優先)
         v =  li.index(22)
         print(v)
     或者可以選取範圍
         v=li.index('alex',1,3)

7、insert 指定索引位置插入元素
     li.insert(位置,插入的值)
     例如: li.insert(0,'alex')
                print(li)


》》》》》》》》》補充《》《》《》《》《》《》
源碼中出現:    index索引,value值


8、pop 删除指定位置的值
    不指定索引時,預設删除最後一個值,并擷取删除的值
        v = li.pop()
        print(li)
        print(v)
   指定索引時,删除指定位置的值,并擷取删除的值
        v = li.pop(1)
        print(li)
        print(v)

9、remove 删除清單中的指定值,左邊優先(括号内要填入删除的内容)
        li.remove(11)
        print(li)

10、reverse 反轉,将目前清單進行反轉
  li.reverse()
    print(li)

11、sort排序
   從小到大排序:
      li.sort()
   從大到小排序
      li.sort(reverse=True)
   欠兩個參數:講函數時補充 cmp, key
      

 二、元祖 tuple     

  元素不可被修改,且元素不能被增加或者删除,但是可以被檢視

   tu = (11, 'alex',  ( 28, 29 ), 22, [33, 44 ], 55)

        按照慣例一般在末尾價格逗号來識别

  1、可通過索引取值,切片取值

2、可以進行for循環(可疊代對象)

3、因為是可疊代對象:字元串、清單、元祖可以互相轉換

4、extend擴充,在元祖中同樣适用

5、元祖是有序的

5、元祖的一級元素不可被修改,元祖中嵌套的清單可以被修改

》》》》》》》》兩個方法《》《》《》《》《》《
count 擷取指定元素在元祖中出現的次數
index 擷取某個指定元素的索引,可以設定起始位置查找      

三、字典 dict

  字典的value可以是任何值

info = {"k1": "v1", "k2": "v2"}        鍵值對      

  布爾值,清單、字典不能作為字典的key

1、查找字典内容

v = info[key]    例如: v=info["k1"]

2、删除key :   del info["k1"]

3、for循環

1、循環字典中所有的key
    for item in info.keys():
        print(item)


2、循環字典中的所有values(值)
    for item in info.values():
    prent(item)            


3、既要循環key又要循環字典中所有的值
     for item in info.keys():
        print(item,info[item])

     那麼可以簡寫為:
    for k, v in info.items():
        print( k, v )      
《》《》《》《》字典的方法《》《》《》《《》》
1、clear 清空

2、copy 淺拷貝

3、fromkeys  根據序列建立字典,并且制定統一的值
    用法: v= dict.fromkeys(['k1', 123, 'k2'], 22)

4、通過索引取key,如果字典中沒有會直接報錯
    get  用法:查找字典的key,key不存在時可以指定預設值
 
    方法一:
            dic = {"k1":23, "k2": 24}
            v= dic.get("k3")
            print(v)       如果k3不在字典中,則傳回None
    方法二:
            dic = {"k1":23, "k2": 24}
            v= dic.get("k3",1111)
            print(v)       如果k3不在字典中,則傳回1111      
5、items

6、 keys

7、 pop     删除。既可以指定所要删除的值,又可以拿到删除掉的值

        方法一:
        dic = {"k1":23, "k2": 24}
        v = dic.pop('k1') 
        print(dic,v)
       方法二:設定具體值,當要删除的key不存在時,傳回到設定的值
         dic = {"k1":23, "k2": 24}
         v = dic.pop('k5',1111) 
         print(dic,v)   


8、  popitem随機删除,并傳回删除的值

       dic = {"k1":23, "k2": 24}
        v,k = dic.popitem() 
        print(dic,v,k)   

9、setdefault設定值,如果值已經存在,并擷取存在key對應的值
    如果key不存在,建立并擷取新建立的key的值
   例如: dic = {"k1":23, "k2": 24}
             v = dic.setdefault("k111","alex") 
             print(dic,v)

10、update 更新

dic = {"k1":23, "k2": 24}
方法一:dic.update({'k1': 1111, 'k3',123})
            print(dic)
方法二: dic.update(k1=123, k3=345, k5='alex')
            print(dic)         

轉載于:https://www.cnblogs.com/yongkang/p/9154939.html