python初學(3)列表(List)應用(待續ing)



list 的應用
1、遍歷list
(1)、for 循環迭代
(2)、while循環索引
實例:
        li = [1 , 2 , 3 , 4 , 5 , 6]

        for x in li:
            print x,
        print ''
        print '------------------------------'
        i = 0
        while i < len(li):
            print li[i],
            i += 1

(3)、多重列表遍歷
實例:li = [1 , 2 , [ 3 , 4 , 5 , 6] , 7 , 8, [9 , 10] ] 按1~10讀出
        False:
            for x in li:
                for y in x:
                    print y,
        True:
            for x in li:        #結果 1 2 3 4 5 6 7 8 9 10
            if type(x) == list:
                for y in x:
                    print y,
            else :
                print x,
    type函數的使用:判斷數據類型

想一想:li = [1 , 2 , [ 3 , 4 , 5 , 6] ,( 7 , 8 ), [9 , 10] ] 按1~10讀出
列表裏牽扯元祖又該如何遍歷?


2、清空列表

實例:
        l1 = []
        l1[:] = []
        del l1[:]


   
3、列表模擬棧和隊列(是兩種非常有用的數據結構)

實例:
        (1)、棧:先進後出
        li = [1 , 2 , 3 , 4 , 5 , 6]
        li.append(7) #相當於進棧,push()函數
        li.pop()     #相當於C語言裏的top()和pop()函數
        print '--------------------------'
        (2)、隊列:先進先出
        li = [1 , 2 , 3 , 4 , 5 , 6]
        li.pop(0)    #取隊列首元素,相當於pop()和front()函數
        li.append(7) #相當於進隊,push()函數


4、列表去重(由麻煩到簡單)
(1)、pop()去重
藉助pop函數刪除每個數以後的所有與他重複的數

實例:
        li = [ 1, 1 , 2 , 3 , 1 , 1 , 2 , 3 , 5 , 7 , 9 , 1 , 2]
        i = 0
        while i <len(li):
            pf = li.index(li[i])
            if li.count(li[i]) > 1:
                li.pop(li.index(li[i] , pf + 1))
                i -= 1
            i += 1
        print li

(2)、append()去重
藉助於另一個列表,起到類似於集合去重的作用

實例:
        li = [ 1, 1 , 2 , 3 , 1 , 1 , 2 , 3 , 5 , 7 , 9 , 1 , 2]
        li2 = []
        for x in li:
            if x not in li2:
                li2.append(x)
        li = li2[:]
        print li

(3)、set(集合)去重
直接利用集合裏的元素不能相同,去重,最爲簡單

實例:
        li = [ 1, 1 , 2 , 3 , 1 , 1 , 2 , 3 , 5 , 7 , 9 , 1 , 2]
        li = list(set(li))
        print li

   
(4)、還可以利用二重循環,列表切片的知識去重,但較爲麻煩,可以自己試着想一下










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章