python筆記--列表

來源:互聯網
上載者:User

標籤:python

列表list

Python內建的一種資料類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。

一、定義列表

>>> list1=[‘a‘,‘b‘,‘c‘,1,2,3]>>> list2=[‘a‘,‘b‘,‘c‘,[1,2,3]]

從上面兩個列表,可以總結出列表的特點如下:

1.用中括弧括起來,元素之間用逗號分隔。

2.字串需要使用單引號,整數不用。

3.list裡面的元素的資料類型也可以不同。

4.list元素也可以是另一個list。

 

二、列表的基本操作

#查看列表元素個數

>>> len(list1)6

#用索引來訪問列表中每一個位置的元素,索引是從0開始的

>>> list1[0]‘a‘>>> list1[1]‘b‘>>> list1[-1]3>>> list2[-1][0]1

注意:最後一個元素的索引為-1,以此類推,倒數第二個的為-2……;索引是不能超出範圍的否則會報一個IndexError錯誤。

 

#追加一個元素

>>> list1.append(4)>>> list1[‘a‘, ‘b‘, ‘c‘, 1, 2, 3, 4]

#刪除指定內容的元素

>>> list1.remove(‘a‘)>>> list1[‘b‘, ‘c‘, 1, 2, 3, 4]

#根據索引刪除元素,如果不指定索引,預設從最後一個開始刪除。

>>> list1.pop(0)‘b‘>>> list1[‘c‘, 1, 2, 3, 4]

#統計列表中相同元素的個數

>>> list1.count(1)1

#統計指定元素的索引號

>>> list1.index(‘c‘)0

#在指定索引的元素之後添加一個元素

>>> list1.insert(1,‘d‘)>>> list1[‘c‘, ‘d‘, 1, 2, 3, 4]

#倒序列表排序

>>> list1.insert(1,‘d‘)>>> list1[‘c‘, ‘d‘, 1, 2, 3, 4]

#正向排序元素

>>> list1.sort()>>> list1[1, 2, 3, 4, ‘c‘, ‘d‘]

#把一個列表擴充到另一個列表中

>>> list1.extend(list2)>>> list1[1, 2, 3, 4, ‘c‘, ‘d‘, ‘a‘, ‘b‘, ‘c‘, [1, 2, 3]]

#列表串連

>>> list1+list2[1, 2, 3, 4, ‘c‘, ‘d‘, ‘a‘, ‘b‘, ‘c‘, [1, 2, 3], ‘a‘, ‘b‘, ‘c‘, [1, 2, 3]]

注意:列表中的元素沒有發生變化

 

#清空列表

>>> list1=[]>>> len(list1)0

總結:

列表的索引號是從0開始的;

可以使用dir()查看列表的使用方法,括弧中輸入列表的名稱;

使用help()查看操作的協助,括弧中輸入”列表名.操作”,例如:

>>> help(list1.insert)Help on built-in function insert: insert(...)L.insert(index, object) -- insert object before index


補充:

有時候我們需要將一個列表重新排序的結果定義給一個新的列表,而且不改變原列表,就用到了sorted()和reversed()

sorted()是python的內建函數,並不是可變對象(列表、字典)的特有方法,sorted()函數需要一個參數(參數可以是列表、字典、元組、字串),無論傳遞什麼參數,都將返回一個以列表為容器的傳回值,如果是字典將返回鍵的列表,例如:

>>> a=[4,3,2,1]>>> b=sorted(a)   #實現正向排序後定義給另一個列表>>> b[1, 2, 3, 4]>>> a#列表a並沒有發生變化[4, 3, 2, 1] >>> c=sorted(b,reverse=True)   #實現倒序排列後定義給另一個列表>>> c[4, 3, 2, 1]>>> a[4, 3, 2, 1]

reversed()也是python的一個內建函數,作用是返回序列的反向訪問的迭代器,參數可以是列表,元組,字串,不改變原對象,例如:

>>> a=[1,2,3,4]>>> b=reversed(a)>>> b<listreverseiterator object at 0x0000000000602B00>  #b是一個迭代器>>> c=list(reversed(a))  #實現反轉一個列表的結果定義給另一個列表>>> c[4, 3, 2, 1]>>> a[1, 2, 3, 4]

 

三、切片

可以使用分區操作來訪問一定範圍內的元素。分區通過冒號隔開的兩個索引來實現:

分區對於提取序列的一部分很有用。切片的原則是”取頭不取尾”,即第一個索引是要提取的第一個元素的編號,而最後的索引則是分區之後剩餘部分的第一個元素的編號。

例如:

>>> list2[‘a‘, ‘b‘, ‘c‘, [1, 2, 3]]>>> list2[1:3][‘b‘, ‘c‘]

如果不指定第一個索引,預設從頭開始切取;如果不指定第二個索引,預設切到最後,例如:

>>> list2[:3][‘a‘, ‘b‘, ‘c‘]>>> list2[2:][‘c‘, [1, 2, 3]]

#步長切片

進行分區的時候,分區的開始和結束需要進行指定,按照步長逐個遍曆序列的元素,然後返回開始和結束點之間的所有元素。例如:

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

 

練習

1.建立一個空列表

>>> lst1=[]

2.添加10個列表元素,包含字串,數字

>>> lst1=[0,1,2,3,4,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]

3.從第5個索引號起插入5個元素

>>> lst1.insert(5,5)

>>> lst1.insert(5,6)

>>> lst1.insert(5,7)

>>> lst1.insert(5,8)

>>> lst1.insert(5,9)

4.分別用切片方法取出前5個,和後5個

>>> lst1[:5]

[0, 1, 2, 3, 4]

>>> lst1[-5:]

[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]

5.分別取出奇數項,和偶數項

>>> lst1.sort()

>>> lst1[::2]

[0, 2, 4, 6, 8, ‘a‘, ‘c‘, ‘e‘]

>>> lst1[1::2]

[1, 3, 5, 7, 9, ‘b‘, ‘d‘]

6.print出列表元素個數

>>> len(lst1)

15

7.刪除某個元素

>>> lst1.remove(‘a‘)

8.刪除列表最後一個元素

>>> lst1.pop(-1)

‘e‘

9.刪除列表第5個元素

>>> lst1.pop(4)

4


本文出自 “網路技術” 部落格,請務必保留此出處http://fengjicheng.blog.51cto.com/11891287/1927616

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.