• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 【python學習筆記】列表

    列表

    1.創建列表

    >>> num = [1,2,3,4,5,6]
    mix = [1,'美女',3.14,[1,2,3,4,5,6]]
    empty = []

    2.添加元素

    ----append()方法:向列表末尾添加單個元素

    >>> num = [1,2,3,4,5,6]
    >>> num.append(7)
    >>> num
    [1, 2, 3, 4, 5, 6, 7]

    append()不能添加多個元素

    >>> num.append(8,9)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: append() takes exactly one argument (2 given)

    ----extend()方法:向列表末尾添加多個元素

    >>> num = [1,2,3,4,5,6,7]
    >>> num.extend([8,9])
    >>> num
    [1, 2, 3, 4, 5, 6, 7, 8, 9]

    事實上extend()方法是使用一個列表來擴展另一個列表,因此參數是列表,而不是單個元素

    ----insert()方法:兩個參數,第一個是代表列表中的位置,第二個是在這個位置處插入一個元素

    >>> num.insert(1,0)
    >>> num
    [1, 0, 2, 3, 4, 5, 6, 7, 8, 9]

    3.獲取元素

    通過元素的索引值從列表中獲取單個元素,注意列表的索引是從0開始的

    >>> name = ['字母羅','煤球','內馬爾','薩拉赫']
    >>> name[0]
    '字母羅'
    >>> name[2]
    '內馬爾'

    當然可以進行位置互相調換

    >>> name[1],name[3] = name[3],name[1]
    >>> name
    ['字母羅', '薩拉赫', '內馬爾', '煤球']

    4.刪除元素

    ----remove()

    特點:①只需要知道列表中存在要刪除的元素即可,若要刪除的元素不再列表中,則會報錯 ②不能指定刪除某個位置的元素

    >>> name.remove('字母羅')
    >>> name
    ['薩拉赫', '內馬爾', '煤球']
    >>> name.remove('大寶')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: list.remove(x): x not in list

    ----del:是個語句,并不是列表的方法

    >>> del name[1]
    >>> name
    ['薩拉赫', '煤球']
    >>> del name
    >>> name
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'name' is not defined

    ----pop()方法:‘彈出’元素

    >>> name = ['字母羅','煤球','內馬爾','薩拉赫']
    >>> name.pop()
    '薩拉赫'
    >>> name.pop()
    '內馬爾'
    >>> name
    ['字母羅', '煤球']
    >>> 

    pop()默認是彈出列表最后一個元素,不過也可以加上索引值作為參數,彈出指定元素

    >>> name = ['字母羅','煤球','內馬爾','薩拉赫']
    >>> name.pop(2)
    '內馬爾'
    >>> name
    ['字母羅', '煤球', '薩拉赫']

    5.列表分片(slice)

    利用列表分片,可以獲取多個元素

    列表分片就是建立在原列表的一個拷貝,得到一個新的列表

    >>> name[0:2]
    ['字母羅', '煤球']
    >>> name
    ['字母羅', '煤球', '內馬爾', '薩拉赫']
    >>> name[:2]
    ['字母羅', '煤球']
    >>> name[1:]
    ['煤球', '內馬爾', '薩拉赫']
    >>> name[:]
    ['字母羅', '煤球', '內馬爾', '薩拉赫']

    結束位置的元素不包含。默認開始位置是0,結束位置去掉后默認為到末尾的所有元素

    第三個參數,步長

    >>> list1 = [1,2,3,4,5,6,7,8,9]
    >>> list1[0:9:2]
    [1, 3, 5, 7, 9]
    >>> list1[::2]
    [1, 3, 5, 7, 9]
    >>> list1[::-1]
    [9, 8, 7, 6, 5, 4, 3, 2, 1]
    >>> 

    6.列表與常用的操作符

    >>> list1 = [123]
    >>> list2 = [234]
    >>> list1 > list2
    False
    >>> list3 = ['abc']
    >>> list4 = ['bcd']
    >>> list3 < list4
    True

    字符串的比較是第一個字符對應的ASCII碼值得大小

    >>> list1 = [123,456]
    >>> list2 = [234,123]
    >>> list1 > list2
    False

    當列表中包含多個元素時,從第一個元素開始比較,第一個贏了,整個列表就贏了

    ---加法(+):連接操作符,相當于extend()實現的效果

    >>> list1 = [123,456]
    >>> list2 = [234,567]
    >>> list3 = list1 + list2
    >>> list3
    [123, 456, 234, 567]
    >>> 
    ---乘號(*):重復操作符

    >>> list1 = [123]
    >>> list1 * 3
    [123, 123, 123]
    >>> list1 *= 5
    >>> list1
    [123, 123, 123, 123, 123]
    >>> 

    ---成員關系操作符:in 和not in

    >>> name = ['字母羅', '煤球', '內馬爾', '薩拉赫']
    >>> '大寶' in name
    False
    >>> '煤球' not in name
    False
    >>> name = ['字母羅', '煤球', ['老司機','壕人'],'內馬爾', '薩拉赫']
    >>> '老司機' in name
    False
    >>> '老司機' not in name
    True
    >>> '老司機' not in name[2]
    False
    >>> '老司機' in name[2]
    True
    >>> 
    二維數組可以這樣訪問:
    >>> name[2][0]
    '老司機'
    >>> 

    7.列表的一些方法

    >>> dir(list)
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
    >>> 

    ----count()方法:計算它的參數在列表中出現的次數

    >>> list1 = [1,1,2,3,5,8,13,19]
    >>> list1.count(1)
    2

    ----index():返回它的參數在列表中的位置

    >>> list1.index(1)
    0
    >>> start = list1.index(1) + 1
    >>> stop = len(list1)
    >>> list1.index(1,start,stop)
    1
    >>> 

    也可以這樣查找后續的目標位置

    ---reverse():將整個列表原地翻轉

    >>> list1 = [1,2,3,4,5,6,7,8,9]
    >>> list1.reverse()
    >>> list1
    [9, 8, 7, 6, 5, 4, 3, 2, 1]
    >>> 

    ---sort():用指定方式隊對列表的成員進行排序,默認不需要參數,從小到大排列

    >>> list1 = [8,6,4,3,10,15,1]
    >>> list1.sort()
    >>> list1
    [1, 3, 4, 6, 8, 10, 15]
    >>> 

    sort(func,key,reverse),三個參數

    sort的默認值為sort(reverse=False),表示不顛倒順序

    將列表從小到大進行排序:

    >>> list1 = [8,6,4,3,10,15,1]
    >>> list1.sort(reverse=True)
    >>> list1
    [15, 10, 8, 6, 4, 3, 1]

    8.再談分片"拷貝"

    >>> list1 = [1,2,3,4,5,6]
    >>> lsit2 = list1[:]
    >>> list2 = list1[:]
    >>> list3 = list1
    >>> 
    >>> list1.append(7)
    >>> list1
    [1, 2, 3, 4, 5, 6, 7]
    >>> list2
    [1, 2, 3, 4, 5, 6]
    >>> list3
    [1, 2, 3, 4, 5, 6, 7]
    >>> 


    ① list1和list2指向的都是同一個列表,如果列表變化,則list1和list2都會變化,并不是獨立的

    ② list2屬于從從list1分片得到的,也就是拷貝得到的新列表

    作業題:

    1.列表內可以存放的東西?
    列表內可以存放各種類型的數據
    2.向列表增加元素有哪些方法?
    append():向列表尾部增加單個元素
    extend():參數為列表,向列表尾部增加一個列表的元素
    insert():兩個參數,第一個是列表中的位置,第二個是要增加的元素
    3.append()方法和extend()方法都是向列表的末尾增加元素,請問有什么區別?
    append():向列表尾部增加單個元素
    extend():參數為列表,向列表尾部增加一個列表的元素
    4.member.append(['竹林小溪','小橋流水'])和member.extend(['竹林小溪','小橋流水'])實現的效果是一樣的嗎

    舉例說明:

    >>> list1 = [1,2,3,4,5,6]
    >>> list1.append([7,8])
    >>> list1
    [1, 2, 3, 4, 5, 6, [7, 8]]
    >>> 
    >>> 
    >>> list1 = [1,2,3,4,5,6]
    >>> list1.extend([7,8])
    >>> list1
    [1, 2, 3, 4, 5, 6, 7, 8]
    >>> 

    明顯是不同的

    5.有列表name = ['M','E','A','T'],如果想在'E'和'A'之間插入元素'S',應該怎么插入?

    >>> name = ['M','E','A','T']
    >>> name.insert(2,'S')
    >>> name
    ['M', 'E', 'S', 'A', 'T']
    >>> 

    6.將member = ['字母羅', '煤球', '內馬爾', '薩拉赫']修改為member = ['字母羅',87, '煤球',89 ,'內馬爾',86, '薩拉赫',80]

    member.insert(1,87)
    member.insert(3,89)
    member.insert(5,86)
    member.append(80)

    利用for循環打印member列表中的每個內容

    >>> member = ['字母羅',87, '煤球',89 ,'內馬爾',86, '薩拉赫',80]
    >>> for each in member:
    ... 	print(each)
    ... 
    字母羅
    87
    煤球
    89
    內馬爾
    86
    薩拉赫
    80
    >>> 

    打印方式變更為['人名','分數']

    count = 0
    length = len(member)
    while count < length:
    	print(member[count],member[count+1])
    	count += 2
    

    for each in range(len(member)):
        if each%2 == 0:
        print(member[each],member[each+1])

    7.請問如何將下邊這個列表中的'美女'修改為'帥哥'?

    list1 = [1,[1,2,['美女']],3,5,8,13,18]

    >>> list1 = [1,[1,2,['美女']],3,5,8,13,18]
    >>> list1[1][2][0] = '帥哥'
    >>> list1
    [1, [1, 2, ['帥哥']], 3, 5, 8, 13, 18]

    8.要對一個列表進行順序排序,請問用什么方法?

    sort()方法

    9.要對一個列表進行逆序排序,請問使用什么方法?

    sort(reverse=True)

    10.列表還有兩個內置方法沒給大家介紹,不過聰明的你應該可以自己摸索使用的門道吧:copy()?和?clear()

    >>> list1 = [1,2,3,4,5]
    >>> list2 = list1.copy()
    >>> list2
    [1, 2, 3, 4, 5]
    >>> list1.sort(reverse=True)
    >>> list1
    [5, 4, 3, 2, 1]
    >>> 
    >>> list3 = list2.clear()
    >>> list3
    >>> list2
    []
    >>> list1
    [5, 4, 3, 2, 1]
    >>> 

    11.請將下方的列表推導式還原出來?

    list1?=?[(x,?y)?for?x?in?range(10)?for?y?in?range(10)?if?x%2==0?if?y%2!=0]

    list1 = []
    
    for x in range(10):
        for y in range(10):
            if x % 2 ==0:
                if y % 2 ==0:
                    list.append((x,y))
    版權聲明:本文為Mr_HUMI原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/Mr_HUMI/article/details/80789905

    智能推薦

    python學習筆記之列表操作

    一.列表的定義 二.列表的索引 三.列表的切片   四.列表的增,刪,改,查     刪除列表中遇到的第一個 value 值:shopping.remove("apple")         刪除列表中第 i 個索引值:del shopping[0]         刪...

    python學習筆記(二)列表和元組

    一、列表格式 列表也可稱為數組,與c語言中的數組一樣,列表也是由[]和,組成,如: mumber = [1,2,3,4,5] 這就定義了一個由五個整形組成的一個列表。 但是,python的列表不會如此簡單,它可以說是一個大雜燴,為何這樣說呢? member = [‘Jacyn’,1,2,3.00,[1,2,3]] 這樣一個包含了字符串,整形,浮點型,甚至包含了一個列表的列表...

    干貨 | Python學習筆記(一)列表

    大家好,我是木木~  今天是有關Python的學習筆記,核心內容為List列表的操作! No.1 數據類型概述 Python標準數據類型:Numbers數字,String字符串,List列表,Tuple元祖,Dici字典 No.2 序列通用操作 序列分類:可變序列list,不可變序列tuple、str No.3 列表list常用操作 今天就到這里,下次繼續哦~ 我不僅僅是一個碼 客官!在...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    猜你喜歡

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    精品国产乱码久久久久久蜜桃不卡