python筆記二 列表和元組

2021-06-23 06:20:38 字數 4923 閱讀 3093

1、序列的索引從頭位置以0開始計數,也可以從後面倒著計數,倒數第乙個元素的索引為-1,倒數第二個元素的索引為-2,以此類推。

2、python包括6種內建的序列:列表、元組、字串、unicode字串、buffer物件和xrange物件。

3、列表可以修改,元組不能修改,幾乎所有的情況下列表都可以代替元組,除了使用元組作為字典的鍵。

4、列表用[ ]包裝,可以用列表表示資料庫中乙個人的資訊,如下

>>> edward = ['edward gumby',42]

>>> john = ['john smith', 50]

>>> database = [edward, john]

>>> database

[['edward gumby', 42], ['john smith', 50]]

5、所有序列型別可進行的操作:索引、分片、加、乘以及檢查是否屬於序列的成員(成員資格),以及計算序列長度、找出最大元素和最小元素的內建函式。示例如下:

(1)索引

>>> greeting[0]

'h'>>> greeting[-1]

'o'直接對返回結果進行索引操作

>>> result=input('year: ')[3]

year: 2014

>>> result

'4'(2)分片

>>> tag = ''

>>> tag[0:3]

'htt'

0:從第乙個元素開始訪問,3:最後乙個分片元素的下乙個位置,不包含在分片內

>>> tag[-3:-1]

'or'

注意:分片的索引,只要左邊的索引比右邊的晚出現在序列中,結果就是乙個空的序列。

右邊的索引值可以為空,如

>>> tag[-3:]

'org'

>>> tag[3:]

'p:'

>>> tag[:3]

'htt'

>>> 

如果需要複製整個序列

>>> tag[:]

''指出步長,以下是每隔2個元素訪問陣列,其中最後乙個2表示步長

>>> array = [1,2,3,4,5,6,7,8,9,10]

>>> array[1:10:2]

[2, 4, 6, 8, 10]

當步長為負數時,分片從右到左提取元素,

>>> array[8:3:-1]

[9, 8, 7, 6, 5]

其他》 array[0:10:-2]

>>> array[::-2]

[10, 8, 6, 4, 2]

>>> array[5::-2]

[6, 4, 2]

>>> array[:5:-2]

[10, 8]

(3)序列相加

>>> [1,2,3] + [4,5,6]

[1, 2, 3, 4, 5, 6]

>>> 'hello,'+'world'

'hello,world'

(4)序列相乘

>>> 5*'#python'

'#python#python#python#python#python'

>>> [3] * 10

[3, 3, 3, 3, 3, 3, 3, 3, 3, 3]

設定長度為10的空序列(none)

>>> null_sequence = [none]*10

>>> null_sequence

[none, none, none, none, none, none, none, none, none, none]

(5)成員資格

>>> test = 'rw'

>>> 'r' in test

true

>>> users = ['aaa', 'bbb', 'ccc']

>>> 'ddd' in users

false

檢查使用者名稱和pin碼

>>> #check username and pin

>>> database = [

['albert','1234'],['dilbert','4242'],['smith','5412'],['jones','9843']

]>>> username = input('username: ')

username: smith

>>> pin= input("pin: ")

pin: 5412

>>> if[username,pin] in database: print ('access granted')

access granted

(6)序列長度,最大值元素,最小值元素

>>> number = [11,22,33]

>>> len(number)

3>>> max(number)

33>>> min(number)

116、list函式。因為字串不能像列表一樣被修改,有時需要根據字串建立列表

>>> list('hello')

['h', 'e', 'l', 'l', 'o']

7、基本的列表操作

(1)修改元素

>>> arr= [0,0,0]

>>> arr[1] = 1

>>> arr

[0, 1, 0]

(2)刪除元素

>>> del arr[0]

>>> arr

[1, 0]

(3)分片賦值

>>> name = list('pythxx')

>>> name

['p', 'y', 't', 'h', 'x', 'x']

>>> name[-2:]=list('on')

>>> name

['p', 'y', 't', 'h', 'o', 'n']

插入》 numbers = [1,5]

>>> numbers[1:1]=[2,3,4]

>>> numbers

[1, 2, 3, 4, 5]

8、列表方法

(2)count

>>> numbers.count(4)

1(3)extend,效率比連線符 +效率要高

>>> a = [1,2,3]

>>> b = [4,5,6]

>>> a.extend(b)

>>> a

[1, 2, 3, 4, 5, 6]

(4)index

>>> a

[1, 2, 3, 4, 5, 6]

>>> a.index(4)

3(5)insert, 將物件插入列表中

>>> a.insert(1,'test')

>>> a

[1, 'test', 2, 3, 4, 5, 6]

(6)pop,一般彈出最後乙個元素

>>> a.pop()

6(7)remove,移除列表中第乙個匹配的元素

>>> a

[1, 'test', 2, 3, 4, 5]

>>> a.remove('test')

>>> a

[1, 2, 3, 4, 5]

(8)reverse。反轉列表

>>> a

[1, 2, 3, 4, 5]

>>> a.reverse

>>> a.reverse()

>>> a

[5, 4, 3, 2, 1]

(9)sort。排序,預設是公升序排序

>>> a

[5, 4, 3, 2, 1]

>>> a.sort()

>>> a

[1, 2, 3, 4, 5]

如果要複製到另乙個列表去排序,可以採用以下方法 y=x[:]

>>> x = [5,4,3,2,1]

>>> x

[5, 4, 3, 2, 1]

>>> y = x[:]

>>> y

[5, 4, 3, 2, 1]

>>> y.sort()

>>> y

[1, 2, 3, 4, 5]

>>> x

[5, 4, 3, 2, 1]

或者》 x

[5, 4, 3, 2, 1]

>>> y=sorted(x)

>>> y

[1, 2, 3, 4, 5]

>>> x

[5, 4, 3, 2, 1]

注:sorted可以對任何序列排序,總是返回乙個列表

10、高階排序

>>> x = [4,6,2,1,7,9]

>>> x.sort(reverse=true)

>>> x

[9, 7, 6, 4, 2, 1]

按key的長度排序

>>> strings = ['aaa', 'bb', 'c']

>>> strings.sort(key=len)

>>> strings

['c', 'bb', 'aaa']

9、元組:不可變序列,用()包裝

(1)陣列建立比較簡單,但是要注意即使只有乙個元素時候,也需要新增()

>>> 1,2,3

(1, 2, 3)

>>> (1,2,3)

(1, 2, 3)

>>> ()

()>>> 42

42>>> 42,

(42,)

>>> (42,)

(42,)

注意:>>> 3*(2+2)

12>>> 3*(2+2,)

(4, 4, 4)

(2)tuple函式,跟list()函式功能相似,將乙個序列作為引數並把它轉換為元組, 如果引數是元組,則原樣返回。

>>> tuple([1,2,3])

(1, 2, 3)

>>> tuple((1,2,3))

(1, 2, 3)

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

一 列 式 列表也可稱為陣列,與c語言中的陣列一樣,列表也是由和,組成,如 mumber 1,2,3,4,5 這就定義了乙個由五個整形組成的乙個列表。但是,python的列表不會如此簡單,它可以說是乙個大雜燴,為何這樣說呢?member jacyn 1,2,3.00,1,2,3 這樣乙個包含了字串,...

Python (二)列表 元組

一 列表 相當於c中的陣列,內部的元素是可以改變的,對元素進行增刪改以及進行插入操作。是一種有序的集合 建立list list1 test1 test2 test3 訪問元素 通過下標進行索引 list1 2 列表的下標從0開始,在元素的個數減1的位置結束。末尾追加元素 指定位置插入元素 listt...

python程式設計學習筆記列表 二 列表和元組

2.1 序列概覽 python包含6種內建的序列 列表 元組 字串 unicode字串 buffer物件和 xrange物件。容器 序列,對映和集合 set 2.2 通用序列操作 索引 indexing 分片 sliceing 加 adding 乘 multiplying 檢查某個元素是否屬於序列的...