最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python內(nèi)置數(shù)據(jù)類型之列表操作

 更新時間:2018年11月12日 11:16:45   作者:遺失的章節(jié)  
數(shù)據(jù)類型是一種值的集合以及定義在這種值上的一組操作。這篇文章主要介紹了python內(nèi)置數(shù)據(jù)類型之列表的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

 數(shù)據(jù)類型是一種值的集合以及定義在這種值上的一組操作。一切語言的基礎(chǔ)都是數(shù)據(jù)結(jié)構(gòu),所以打好基礎(chǔ)對于后面的學(xué)習(xí)會有百利而無一害的作用。

  python內(nèi)置的常用數(shù)據(jù)類型有:數(shù)字、字符串、Bytes、列表、元組、字典、集合、布爾等

1.什么是列表

lst[#] 通過下標(biāo)訪問,從0開始。
ps:如果#超過下標(biāo)的范圍時候會出現(xiàn)IndexError的錯誤。
如果#為負(fù)號,則索引從右邊開始,#無論為正負(fù)均有范圍,超過范圍會報錯。
lst = list(range(0,9)) #生產(chǎn)列表
l1 = lst[3] #通過正索引訪問元素
l2 = lst[-1] #通過負(fù)索引訪問元素
print(l1)
print(l2)
#說明,如果正負(fù)索引超界,則會報錯。
#錯誤代碼:IndexError: list index out of range

2 .列表元素查找

查找元素:L.index( value,[start[stop]])方法:返回查找到的第一個value值的索引。

start表示從第幾個索引開始,stop表示到哪個索引結(jié)束,均可省略。

b.但是如果出現(xiàn)stop,其前必須有start值,索引時包含start位置不包含stop位置。

c.如果匹配不到元素,則返回:ValueError: xx is not in list

d.index查找元素的時間復(fù)雜的為O(n)

lst = list(range(11,19)) 
print(lst)
[11, 12, 13, 14, 15, 16, 17, 18]
lst.index(13) #13的索引值為2

統(tǒng)計元素:L.count(value) 統(tǒng)計列表中出現(xiàn)多少個value值。

len(L),求list列表的長度。

count方法的時間復(fù)雜的為O(n)

3 .列表元素操作

a.修改元素

直接賦值,L[#]=value。

#為列表的索引值

索引不能越界,會報錯IndexError: list assignment index out of range

修改列表自身

lst = list(range(1,10)) 
lst[2]=111 
lst[4]=123
lst
[1, 2, 111, 4, 123, 6, 7, 8, 9]

b.增加元素

L.append(#),修改L本身,并且追加在列表末尾。

L.extend([#1,#2,#3]) , 將可迭代對象擴(kuò)展到列表末尾。

L+[‘a(chǎn)','b','c'] ,不修改列表本身,返回一個新的列表。

c.插入元素

L.insert(idx,#),將在該idx前插入#,會修改L本身。

當(dāng)idx為正數(shù),且大于列表本身的索引數(shù),

會實現(xiàn)append方法將插入在元素最末尾;當(dāng)idx為負(fù)數(shù),且小于-len(L)+1時將會插入到列表最前。

append的時間復(fù)雜度是O(1),效率和數(shù)據(jù)的規(guī)模無關(guān)。

insert的時間復(fù)雜度是O(n),效率個數(shù)據(jù)規(guī)模正相關(guān)。

d.移除元素

L.remove(value),修改自身,從左到右刪除第一個匹配到的值。

L.pop(idx),返回并刪除索引指向的值。如果不指定idx,將刪除列表最后的元素。

pop不指定值時,時間復(fù)雜度是O(1)的;

pop指定idx時,時間復(fù)雜度是O(n)的。

L.clear(),刪除索引元素。慎用,會引起垃圾回收。

e.列表反轉(zhuǎn)

reverse(),修改自身,反轉(zhuǎn)列表元素。

f.列表排序

L.sort(),排序操作,修改自身,升序排列。 L.sort(reverse=True),逆序排列。

4 .列表進(jìn)階

1. 列表復(fù)制

copy()方法,列表淺拷貝。遇到引用類型,僅僅復(fù)制引用地址。當(dāng)原來引用類型的值發(fā)生變化時,拷貝后的列表的值也隨之發(fā)生變化。

lst = list(range(4))
lst1 = lst.copy()
print(lst1)
#淺拷貝特性說明
lst = [1,[2,3,4],5]
lst1 = lst.copy()
lst1[1][2] = 11
lst[1][0]=22
print(lst)
print(lst1)
#lst = lst1,引用內(nèi)的值改變,列表均發(fā)生變化。
[0, 1, 2, 3]
[1, [22, 3, 11], 5]
[1, [22, 3, 11], 5]

copy模塊下的deepcopy() 提供了深拷貝方法。

import copy
lst = [1,[2,3,4],5]
lst1 = copy.deepcopy(lst)
lst1[1][2] = 11
print(lst)
print(lst1)
#lst != lst1 對比lst.copy方法。
[1, [2, 3, 4], 5]
[1, [2, 3, 11], 5]

2. 打亂列表

需要引入random模塊

# random.shuffle(list)
lst = [1,323,4,-3,[1,3],None,(1,34),{1:3}]
random.shuffle(lst) #修改自身,返回值為None,不能使用其他空間接受。
lst #通過shuffle打亂后列表的順序發(fā)生變化。
[323, {1: 3}, None, [1, 3], 1, -3, 4, (1, 34)]

random模塊的其他對象:

import random
print(random.randint(1,11)) #返回[1,11] 之間的整數(shù),注意左右閉區(qū)間
print(random.choice(range(11))) #從非空序列中隨機(jī)挑選一個整數(shù)
#randrange ([start,] stop [,step]) 從指定的范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個隨機(jī)數(shù)
random.randrange(1,7,2) #從[1,7)中,步長為2的數(shù)字中獲取一個數(shù)

總結(jié)

以上所述是小編給大家介紹的python內(nèi)置數(shù)據(jù)類型之列表,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 通過pycharm使用git的步驟(圖文詳解)

    通過pycharm使用git的步驟(圖文詳解)

    這篇文章主要介紹了通過pycharm使用git的步驟(圖文詳解),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python實現(xiàn)印章代碼的算法解析

    Python實現(xiàn)印章代碼的算法解析

    這篇文章主要為大家介紹了Python印章代碼實現(xiàn)算法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python實現(xiàn)層次聚類的方法

    python實現(xiàn)層次聚類的方法

    層次聚類就是一層一層的進(jìn)行聚類,可以由上向下把大的類別(cluster)分割,叫作分裂法,這篇文章主要介紹了python實現(xiàn)層次聚類的方法,需要的朋友可以參考下
    2021-11-11
  • Python中內(nèi)置的日志模塊logging用法詳解

    Python中內(nèi)置的日志模塊logging用法詳解

    Python的logging模塊提供了記錄程序運行情況的日志功能,類似于Apache的log4j,很好很強大,這里我們就來看一下Python中內(nèi)置的日志模塊logging用法詳解
    2016-07-07
  • python常用數(shù)據(jù)重復(fù)項處理方法

    python常用數(shù)據(jù)重復(fù)項處理方法

    在本篇文章里小編給大家整理的是關(guān)于python常用數(shù)據(jù)重復(fù)項處理方法,需要的朋友們參考下。
    2019-11-11
  • Python入門教程4. 元組基本操作

    Python入門教程4. 元組基本操作

    這篇文章主要介紹了Python元組基本操作,簡單介紹了元組的創(chuàng)建、count方法元素統(tǒng)計、index方法元素獲取等相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2018-10-10
  • python實現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法

    python實現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法

    這篇文章主要介紹了python實現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法,以URL轉(zhuǎn)換成文件路徑為例分析了Python實現(xiàn)地址轉(zhuǎn)換的技巧,需要的朋友可以參考下
    2015-07-07
  • python實現(xiàn)漢諾塔遞歸算法經(jīng)典案例

    python實現(xiàn)漢諾塔遞歸算法經(jīng)典案例

    這篇文章主要大家分享了python實現(xiàn)漢諾塔遞歸算法經(jīng)典案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Tensorflow累加的實現(xiàn)案例

    Tensorflow累加的實現(xiàn)案例

    今天小編就為大家分享一篇Tensorflow累加的實現(xiàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python Pandas學(xué)習(xí)之Pandas數(shù)據(jù)結(jié)構(gòu)詳解

    Python Pandas學(xué)習(xí)之Pandas數(shù)據(jù)結(jié)構(gòu)詳解

    Pandas中一共有三種數(shù)據(jù)結(jié)構(gòu),分別為:Series、DataFrame和MultiIndex(老版本中叫Panel )。其中Series是一維數(shù)據(jù)結(jié)構(gòu),DataFrame是二維的表格型數(shù)據(jù)結(jié)構(gòu),MultiIndex是三維的數(shù)據(jù)結(jié)構(gòu)。本文將詳細(xì)為大家講解這三個數(shù)據(jù)結(jié)構(gòu),需要的可以參考一下
    2022-02-02

最新評論

洞头县| 辽宁省| 连州市| 蓝山县| 罗城| 阿荣旗| 哈尔滨市| 柳江县| 亚东县| 甘肃省| 镇坪县| 洮南市| 武强县| 台南县| 水富县| 年辖:市辖区| 百色市| 灵丘县| 江孜县| 大渡口区| 芜湖市| 收藏| 庆城县| 汉川市| 松阳县| 太白县| 田阳县| 宽甸| 筠连县| 莆田市| 卓尼县| 开平市| 阳城县| 彭州市| 缙云县| 南木林县| 怀来县| 恩平市| 合川市| 和政县| 和平区|