Python 列表和元组

列表和元组的主要区别是,列表可以修改,元组不能

如何定义一个列表:

pen_holder = ['pen', 'refill', 'bookmarks']

索引:

pen_holder[0] # pen
pen_holder[-1] # bookmarks

分片(前包含,后不包含):

pen_holder[0:2] # ['pen', 'refill']
pen_holder[-3:-1] # ['pen', 'refill']
pen_holder[-2:] # ['refill', 'bookmarks']
pen_holder[1:] # ['refill', 'bookmarks']
pen_holder[:] # ['pen', 'refill', 'bookmarks'] 复制一个列表,不会指向原列表

分片和步长(默认步长为1):

pen_holder[::2] # ['pen', 'bookmarks']
pen_holder[::-2] # ['bookmarks', 'pen'] # 步长为负,从右向左
pen_holder[::-1] # ['bookmarks', 'refill', 'pen'] # 数组反序

序列相加:

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

乘法:

[8] * 8 # [8,8,8,8,8,8,8,8]

初始化一个长度为10的列表:

seq = [None] * 10 # None是Python的一个内建值,表示“什么也没有”

成员资格:

'pen' in pen_holder # True
'spoon' in pen_holder # False

database = [
    ['albert', '1234'],
    ['noah', '2342'],
    ['json', '4565']
]                

['alert', '1234'] in database # True
['alert', '3423'] in database # False

长度,最小值,最大值:

len(pen_holder) # 3
min(pen_holder) # 'bookmarks'        
max(pen_holder) # 'refill'
min(1,2,3) # 1
max(1,2,3) # 3

list函数:

list('Big') # ['B', 'i', 'g']

元素赋值:

不能为一个位置不存在的元素进行赋值,如果列表长度为2,那么不能为索引为2的元素进行赋值。如果需要给索引为2的元素赋值,需要创建一个长度至少为3的列表。

pen_holder[0] = 'bottle opener'

删除元素:

del open_holder[0]

分片赋值:

可以使用与原长不等长的序列替换

name = list('Noah')
name[1:] = 'ikky' # ['N', 'i', 'k', 'k', 'y']

name = list('Big')
name[3:] = 'ger' # ['B', 'i', 'g', 'g', 'e', 'r'] # 在结尾插入
''.join(name) # Bigger  

name = list('word')
name[:0] = 's' # ['s', 'w', 'o', 'r', 'd']  

列表的方法

append

pen_holder.append('card')

pop

pen_holder.pop() # 'card'   

extend

pen_holder.extend(['key', 'charger'])

count

x = [[1,2], 1, 2, 1, [1,2,3]]    
x.count(1) # 2
x.count([1,2]) # 1

index

x = ['We', 'are', 'the', 'world']
x.index('are') # 1
x.index('work') # 异常

insert

x = [1,3,4,5]
x.insert(0, 0)
x.insert(2, 2) # [0, 1, 2, 3, 4, 5]

remove

移除列表中某个值的第一个匹配项

x = ['I', 'am', 'a', 'Chinese']
x.remove('a') 
x.remove('an') # 异常

reverse

将列表的元素反向存放

x = [1,2,3]
x.reverse()  

sort

x = [4,2,1,3,5]
x.sort # [1,2,3,4,5] 改变原列表

y = sorted(x) # 不会改变原列表            

Python

这篇文章: 有用 无用
创建 2018-06-20 17:13:01 / 更新 2018-06-20 17:13:01