升級打怪學python———列表

來源:互聯網
上載者:User

標籤:字典   ble   mat   trace   pam   str   序列   eve   net   

1、列表字典元組都是python中的容器。

2、列表的三個特點:

(1)異構性

  可以包含不同種類、任意類型的對象,甚至可以嵌套列表。

L1 = [1, 2, 3, 4, 5]L2 = [1, ‘spam‘, [2.3, 4]]L3 = []

 

(2)有序性

  列表裡裝的元素都是有順序的,可以按照位置序號擷取單個元素,也可以用分區的方法來進行多個連續元素的擷取。

L = [1,2,3,4,5,6,7,8]print(L[1:3])[2, 3]

  關於截取片段左右邊界與索引值的對應關係,我們只需記住這麼一個口訣“左閉右開”就OK了。

  如果省略掉終止索引,就表示一直截取到末尾。

  如果省略掉起始索引,就表示從起始元素就開始截取。

  目前我們使用的都是正索引,即從左往右的索引值,最左側的索引值為0,往右依次加1;還有一種負索引的標記法,即從右往左數,最右側是-1,往左依次減1,即-2,-3以此類推。

  步進值參數,這個預設是1,即1個挨著1個的取,如果我們想跳著截取,那就得專門設定這個步進參數了。  

L = [1,2,3,4,5,6,7,8]print(L[0::2])[1, 3, 5, 7]

 

  對截取出的分區進行修改,會影響到原始的列表嗎?

L = [1,2,3,4,5,6,7,8]b = L[3:-1]print(‘before change:b={}‘.format(b))b[0]=111print(‘after change:b={}‘.format(b))print(‘after change:L={}‘.format(L))before change:b=[4, 5, 6, 7]after change:b=[111, 5, 6, 7]after change:L=[1, 2, 3, 4, 5, 6, 7, 8]

 

(3)本地可修改

  列表的大小和內容可以隨意改變,在插入、刪除、修改列表元素時,不需要建立一份新的列表拷貝,而是在原來的記憶體位址上直接修改列表對象。

 1 L = [1,2,3,4] 2 L.append(5) 3 print(L) 4  5 [1, 2, 3, 4, 5] 6  7 L = [1,2,3,4] 8 L.insert(1,10) 9 print(L)10 11 [1, 10, 2, 3, 4]12 13 L = [1,2,3,4]14 L.extend([11,22,33])15 print(L)16 17 [1, 2, 3, 4, 11, 22, 33]

 

3、列表的修改方法不能被賦值

1 L = [1,2,3,4,5]2 L = L.insert(6,2)3 print(L[2])4 5 Traceback (most recent call last):6  File "E:/12homework/12homework.py", line 3, in <module>7 print(L[2])8 TypeError: ‘NoneType‘ object is not subscriptable

Insert方法的傳回值是None,把None值賦給了L,你就無法找到之前的列表了。

 

4、列表修改的方法

增加:append(只能在尾部加入)

      insert(可在任意位置加入,如果指定的索引值大於序列的總長度,則自動加到末尾)

   extend(在尾部一次性加入多個元素)

L = [1,2,3,4]L.append(5)print(L)[1, 2, 3, 4, 5]L = [1,2,3,4]L.insert(1,10)print(L)[1, 10, 2, 3, 4]L = [1,2,3,4]L.extend([11,22,33])print(L)[1, 2, 3, 4, 11, 22, 33]

 

刪除:remove(傳入指定要刪除的對象)

  

L1 = [‘aa‘,‘bb‘,‘cc‘]L1.remove(‘aa‘)print(L1)[‘bb‘, ‘cc‘]

 

     del(刪除列表中的一個分區)

del L1[1:3]

 

     pop(它在末端刪除一個元素,並可以將刪除的元素作為傳回值返回給調用者)

  

L1 = [1,2,3]print(L1.pop())#末端刪除一個元素,彈出刪除的值print(L1)3[1, 2]

分區賦值

L = [4,5,6,7,8,9]L[0] = 0

 

L = [4,5,6,7,8,9]L[1:3] = [‘aa‘,‘bb‘,‘cc‘,‘dd‘]print(L)[4, ‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, 7, 8, 9]

本地排序

L = [1,5,3,8,3,2,10]L.sort()print(L)L.reverse()print(L)[1, 2, 3, 3, 5, 8, 10][10, 8, 5, 3, 3, 2, 1]

 

升級打怪學python———列表

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.