溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python列表相關知識點有哪些

發(fā)布時間:2023-04-17 15:20:38 來源:億速云 閱讀:102 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“python列表相關知識點有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“python列表相關知識點有哪些”文章能幫助大家解決問題。

    python列表

    變量可以存儲一個元素,而列表是一個大容器,可以存儲N多個元素,程序可以方便的對這些數(shù)據(jù)進行整體操作(可以存儲多個不同的數(shù)據(jù)類型)

    列表相當于其它語言的數(shù)組

    正序索引012345
    數(shù)據(jù)'hello''world''python'34.71234'sycyyds'
    倒序索引-6-5-4-3-2-1
    lst = ['hello','world','python',98]
    print(id(lst))    //查看標識
     
    print(type(lst))  //查看數(shù)據(jù)類型
     
    print(lst)        //輸出值

    python列表相關知識點有哪些

    1.列表的創(chuàng)建與刪除

    列表中的元素放置在“[]”中,兩個相鄰的元素之間使用“,”隔開。同一個列表中的元素可以為任何類型的數(shù)據(jù),如數(shù)值/字符串/列表等

    列表的創(chuàng)建方式

    1.使用中括號

    2.調用內置函數(shù)list()

     #     1.  使用[]
    lst1 = ['hello','world',98]
     
     
    #     2.  使用內置函數(shù)list()
    lst2 = list(['hello','world',98])
     
    print(lst1)
     
    print(lst2)

    列表的特點

    1.列表元素按順序有序排序
    lst = ['hello','world','python',98]
     
    print(lst)

    python列表相關知識點有哪些

    2.索引映射唯一數(shù)據(jù)
    正序索引012345
    數(shù)據(jù)'hello'   'world'    'python'  34.7      1234      'sycyyds'
    倒序索引-6-5-4-3-2-1

    列表中的元素是通過索引來獲取的。列表當中的正序索引是從0開始的,逆序是從-1開始的

    lst = list(['hello','world',98,23])
     
    #  正序從零開始   逆序從-1開始
     
    print(lst[0],lst[-3])  #輸出為 hello world
    3.列表可以存儲重復數(shù)據(jù)
    lst = ['hello','world',23,'python','hello']
     
    print(lst)

    python列表相關知識點有哪些

    4.任意數(shù)據(jù)類型混存

    任何類型的數(shù)據(jù)類型都可以存儲在列表中

    5.根據(jù)需要動態(tài)分配和回收內存

    不用擔心內存不夠用的問題

    2.列表的查詢操作

    1.獲取索引

    1.如果列表中存在N個相同元素,只返回列表中相同元素的第一個元素的索引

    2.如果查詢元素在列表中不存在,則會拋出ValueError

    3.還可以在指定的start和stop之間進行查找

    lst1 = ['hello','world',98,'hello']
     
    print(lst.index('hello'))  #lst后面是英語的句號
    # 輸出為0
    #  如果列表中有相同元素,只返回列表中相同元素的第一個元素的索引
    #  print(lst1.index('pathon'))    錯誤: ValueError: 'pathon' is not in list
    print(lst.index('hello',0,3))   ##在0-3中查找,不包括3
     
    lst2 = ['hello','world',98,'world','hello',123]
     
    #   獲取索引為2的元素
    print(lst2[2])
     
    #   獲取索引為-3的元素
    print(lst2[-3])
     
    #   獲取索引中沒有的元素
    #   print(lst2[10])        錯誤: IndexError: list index out of range

    2.獲取多個元素

    獲取列表中的多個元素

    語法格式
            列表名[ start : stop : step ]

    切片的結果是原列表片段的拷貝

    切片的范圍是[start : stop )是從start開始到stop結束,但不包括stop

    step默認步長為1

    lst1 = [10,20,30,40,50,60,70,80]
    #start=1,stop=6,step=1
    # print(lst1[1:6:1])
    print('原列表',id(lst1))
    lst2 = lst1[1:6:1]
    print('切的片段',id(lst2))
     
    #    不寫步長 默認步長為1
    print(lst1[1:6])
    print(lst1[1:6:])
     
    #  start=1,stop=6,step=2
    print(lst1[1:6:2])
    #  start采用默認,stop=6,step=2
    print(lst1[:6:2])
    #  start=1,stop采用默認,step=2
    print(lst1[1::2])
     
    #  步長為負數(shù)  默認從最后一個元素開始
    print('原列表:',lst1)
    #   逆序輸出
    print(lst1[::-1])
    #start=7,stop省略 step為-1
    print(lst1[7::-1])
    #start=6,stop=0 step為-2
    print(lst1[6:0:-2])

    3. 判斷指定的元素在列表中是否存在

    元素 in 列表名

    元素not in 列表名

    列表的遍歷

    for 迭代變量 in 列表名 :

    操作

    li = [10,20,'python','hello']
    print(10 in li)  #True
    print(100 in li)  #False
    print(10 not in li)  #False
    print(100 not in li)  #True
     
    #    遍歷列表中的元素
    print('__________________________________________')
    for item in li:
        print(item)

    3.列表元素的增,刪,改

    1.增

    增加操作方法操作描述append()在列表末尾添加一個元素extend()在列表的末尾至少添加一個

    增加操作方法操作描述
    append()在列表末尾添加一個元素
    extend()在列表的末尾至少添加一個元素
    insert()在列表的任意位置添加一個元素
    切片在列表的任意位置至少添加一個元素

    元素insert()在列表的任意位置添加一個元素切片在列表的任意位置至少添加一個元素

    print('_______________________向列表的末尾添加一個元素_______________________')
    lst3=[10,20,30]
    print('添加元素前:',lst3,id(lst3))
    lst3.append(100)
    print('添加元素后:',lst3,id(lst3))
    lst2=['hello','world']
    lst3.append(lst2)   #  將lst2當作一個元素加到lst3后面 [10, 20, 30, 100, ['hello', 'world']]
    print(lst3)
     
    lst3.extend(lst2)   #  extend向列表中添加多個元素 [10, 20, 30, 'hello', 'world']
    print(lst3)
     
    #    在任意(指定)位置上添加一個元素 insert(索引,要添加的數(shù))
    lst3.insert(1,90)
    print(lst3)
     
    #    在任意位置上添加N多個元素
    lst=[True,False,'hello']
    lst3[1:]=lst   #從1開始切,然后把lst中的值放到后面,用新的列表來替換切掉的列表
    print(lst3)

    2.刪

    刪除操作方法操作描述
    remove()一次移除一個元素
    有重復元素的只刪除第一個
    元素不存在時拋出ValueError
    pop()刪除一個指定索引位置上的元素
    確定索引不存在時拋出IndexError
    不指定索引,刪除最后一個元素
    切片一次至少刪除一個元素
    clear()清空列表
    del刪除列表
    lst=[10,20,30,40,50,60,30]
    lst.remove(30)  #從列表中移除一個元素,如果有重復只移除一個元素
    print(lst)
    #  lst.remove(100)   #  ValueError: list.remove(x): x not in list
    #  pop根據(jù)索引移除元素
    lst.pop(1)
    print(lst)
    #  lst.pop(7)    IndexError: pop index out of range  如果指定的索引位置不存在,將拋出異常
    #  如果不指定參數(shù),則刪除列表中最后一個元素
    lst.pop()
    print(lst)
    print('___________切片操作刪除至少一個元素,將產生一個新的列表元素___________')
    new_list=lst[1:3]
    print('原列表',lst)
    print('切片后的列表',new_list)
    #  不產生新的對象,而是刪除原列表中的內容
    lst[1:3]=[]
    print(lst)
    #  清除列表中的所有元素
    lst.clear()
    print(lst)
    #     del  語句將列表刪除
    del lst
    ###   print(lst)   NameError: name 'lst' is not defined.

    3.改

    為指定索引的元素賦予一個新值

    為指定切片賦予一個新值

    print('****************修改列表的值*****************')
    lst=[10,20,30,40]
    #一次修改一個值
    lst[2]=100
    print(lst)  #[10,20,100,40]
     
    lst[1:3]=[300,400,500,600]
    print(lst)  #[10,300,400,500,600,40]

    4.列表元素的排序

    1.sort()方法

    對原列表的排序操作

    print('_______________sort排序操作_________________')
    lst=[20,40,10,50,15]
    print('排序前的列表',lst,id(lst))
    #開始排序,調用列表對象sort方法,升序排序
    lst.sort()
    print('排序后的列表',lst,id(lst))
    #    標識沒有改變,在原列表中排序
    #    通過指定關鍵字參數(shù),將列表中的元素降序排序
    lst.sort(reverse=True)   #reverse=True 表示降序,reverse=False 就是升序
    print(lst)
    lst.sort(reverse=False)   
    print(lst)

    2.sorted方法

    產生一個新的列表,原列表不發(fā)生改變

    print('_________使用內置函數(shù)sorted()對列表進行排序,將產生一個新的列表對象__________')
    lst=[20,40,10,50,15]
    print('原列表',lst)
    #    開始排序   指定關鍵字參數(shù),實現(xiàn)列表元素升序排序
    new_list=sorted(lst)
    print(lst)
    print(new_list)
     
    #    指定關鍵字參數(shù),實現(xiàn)列表元素降序排序
    desc_list=sorted(lst,reverse=True)
    print(desc_list)

    5.列表元素推導式

    注意事項:表示列表元素的表達式“中通常包含自定義變量”

    print('____________________列表生成式________________________')
    lst=[i for i in range(1,10)]
    print(lst)  #產生1-9
    lst1=[i*i for i in range(1,10)]
    print(lst1)  #產生1的平方-9的平方
    #   產生列表元素為2,4,6,8,10
    lst2=[2*i for i in range(1,6)]
    print(lst2)

    關于“python列表相關知識點有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

    AI