ch2 列表和元組

2021-07-02 18:51:08 字數 4542 閱讀 4154

>>>edward = ['edward gumby',42]
序列也可以包含其他的序列,例如:

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

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

>>>database = [edward,john]

>>>database

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

>>>fourth = raw_input('year: ')[3]

year: 2005

>>>fourth

'5'

>>>tag = 'python web site'

>>>tag[9:30]

''>>>tag[32:-4]

'python web site'

-訪問最後三個元素的技巧:

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

>>>numbers[7:10]

[8,9,10]

>>>numbers[-3:-1]

[8,,9] #從結尾開始計數,不行

>>>numbers[-3,0]

#返回空列表

>>>numbers[-3:]

[8,9,10]

>>>numbers[:3]

[1,2,3]

>>>numbers[:]

[1,2,3,4,5,6,7,8,9,10] #返回整個列表

>>>numbers[0:10:1]

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

>>>numbers[0:10:2]

[1,3,5,7,9]

>>>numbers[::4]

[1,5,9]

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

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

>>>'hello ' + 'world'

'hello world'

>>>'python' * 5

'pythonpythonpythonpythonpython'

>>>[42] * 10

[42,42,42,42,42,42,42,42,42,42]

>>>sequence = [none] * 10

>>>sequence

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

>>>permissions = 'rw'

>>>'w'

in permissions

true

>>>subject = '$$$ get rich now!!! $$$'

>>>'$$$'

in subject

true

改變列表:元素賦值。不能為乙個位置不存在的元素賦值。

>>>x = [1,1,1]

>>>x[1] = 2

>>>x

[1,2,1]

刪除元素

>>>names = ['alice' , 'beth' , 'cecil' , 'dee-dee' , 'earl']

>>>del names[2]

>>>names

['alice' , 'beth' , 'dee-dee' , 'earl']

3.分片賦值

>>>name = list('perl')

>>>name

['p','e','r','l']

>>>name[2:] = list('ar')

>>>name

['p','e','a','r']

分片賦值可以不需要替換任何原有元素的情況下插入新的元素。

>>>numbers = [1,5]

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

>>>numbers

[1,2,3,4,5]

也可以用來刪除元素

>>>numbers

[1,2,3,4,5]

>>>numbers[1:4] =

>>>numbers

[1,5]

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

>>>lst

[1,2,3,4]

>>>x = [[1,2],1,1,[2,1,[1,2]]]

>>>x.count(1)

2>>>x.count([1,2])

1

extend:在末尾一次性追加另乙個序列中的多個值(用新列表擴充套件原來的列表)

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

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

>>>a.extend(b)

>>>a

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

這個與連線操作不同,連線操作+返回乙個新列表,而extend是在原列表上面修改。

4. index:從列表找出某個值第乙個匹配項的索引位置

>>>knights = ['we','are','knights','who','say','ni']

>>>knights.index['who']

4

insert:將物件插入到列表中

>>>numbers = [1,2,3,5,6,7]

>>>numbers.insert(3,'four')

>>>numbers

[1,2,3,'four',5,6,7]

pop:移除最後乙個元素,並返回該元素的值

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

>>>x.pop()

3>>>x

[1,2]

>>>x.pop(0)

1>>>x

[2]

7.remove: 用於移除列表中某個值的第乙個匹配項

>>>x = ['to','be','or','not','to','be']

>>>x.remove('be')

>>>x

['to','or','not','to','be']

reverse:將列表中元素反向存放

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

>>>x.reverse()

>>>x

[3,2,1]

sort:在原位置對列表進行排序(即改變原來的列表),但是返回空值

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

>>>x.sort()

>>>x

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

如果需要乙個排好序的列表副本,不可以這樣:

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

>>>y = x.sort()

>>>print y

none

可以將x的副本賦值給y,再對y排序

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

>>>y = x[:] # 不能用y = x,否則y和x都指向同乙個列表了

>>>y.sort()

>>>x

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

>>>y

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

高階排序

首先自定義比較函式compare(x,y),然後提供給sort函式作為引數。sort函式還有另外兩個可選引數,key和reverse。引數key需要提供乙個在排序中使用的函式,為每個元素建立乙個鍵,然後所有元素根據鍵來排序。另乙個引數reverse是簡單的布林值,指明是否要進行反向排序。

>>>1,2,3

(1,2,3)

>>>(1,2,3)

(1,2,3)

>>>42

42>>>42,

(42,)

>>>(42,)

(42,)

>>>3*(40+2)

126>>>3*(40+2.)

>>>(42,42,42)

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

(1,2,3)

>>>tuple('abc')

('a','b','c')

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

>>>(1,2,3)

>>>x = 1,2,3

>>>x[1]

2>>>x[0:2]

(1,2)

2,列表和元組

資料結構,以某種方式組合起來的資料元素的集合。python最基本的資料結構為序列,序列中每個元素都有編號,即其位置或索引。python中常用的三種序列 列表 元組 字串。注 列表可以修改,元組 字串不可修改,列表 元組中的元素是多樣的。注 列表以 標識 元組以 標識 字串以雙引號標識。通用序列操作 ...

python學習2 列表和元組

二列表和元組 2.1 序列 python中最基本的資料結構是序列。python有6種內建序列 列表 元組 字串 unicode字串 buffer物件和xrange物件。列表和元組的主要區別 列表可以修改,元組不可以修改 通用的序列操作 索引 分片 加 乘 檢查某個元素是否屬於序列的成員 計算序列長度...

04 列表和元組

今日主要內容 1.什麼是列表 定義 能裝物件的物件 在python中使用來描述列表,內部元素用逗號隔開.對資料型別沒有要求 列表存在索引和切片.和字串是一樣的.2.相關的增刪改查操作 重點 新增 2.insert 位置,元素 插入指定元素到指定位置 刪除 1.pop index 根據索引刪除 2.r...