Python的列表和元组变化多端、灵活方便,是PYTHON最引人入胜的特色之一,学到这一块内容时,居然能让人有一点小小的兴奋。在此,记录下一些基本内容,供分享,也供自己查阅。
1。列表可以修改,元组不能修改
2。从前往后,列表和元组的第一个元素索引是0,第二个是1,从后往前,最后一个索引是-1,倒数第二个是-2
3。分片访问,[begin:end], 比如:ss[2:4], 索引为begin的在分片内,为end的不在分片内。如果begin和end 之间得不到元素,就返回[],用实例说话:
number=[1,2,3,4,5,6,7,8,9]
number[3:6] # [4,5,6]
number[-3,-1] #[8,9]
number[0:1] #[1]
number[-3:0] #[] 应该是从左向右数才有效, 当然也有从右向左访问的方法
number[-3:] #[8,9,10]
number[:3] #[1,2,3]
4。可以指定步长访问 [begin:end:step]
number[0:10:1] #[1,2,3,4,5,6,7,8,9] end大于最大索引,忽略
number[0:10:2] #[1,3,5,7,9]
number[::4] #[1,5,9]
number[8:3:-1] #[9,8,7,6,5] 步长为负时, 从右向左访问
number[::-2] #[10,8,6,4,2]
number[5::-2] #[6,4,2]
5.两种同类型的序列可以相加
[1,2,3] + [4,5,6] #[1,2,3,4,5,6]
[1,2,3] + 'hello' #错误
[1,2,3]+['h','e','l','l','o'] #[1,2,3,'h','e','l','l','o']
6,序列乘法
[1,2] *2 # [1,2,1,2]
7,关于空
[] *10 # [] []是列表, None是元素
[None] *2 #[None,None]
if [None] == []:
... print(1)
... else:
... print(0)
...
程序运行结果是0,可见[None] == []不相等.
8, len() 得到序列长度, max()最大值, min()最小值, count() 返回同一元素出现次数
len(number) #9
max(number) #9
min(number) #1
[1,2,3,1,4,5,1,7].count(1) #3
9. list 与join
list('hello') #['h','e','l','l','o']
''.join(['h','e','l','l','o']) # 'hello'
'-'.join(['h','e','l','l','o']) # 'h-e-l-l-o'
10. 列表基本操作
x=[1,1,1]
x[1] = 2 #[1,2,1] 修改
del x[1] #[1,1] 删除
x=[1,1,1]
x[1:] = [3,4,5] #[1,3,4,5] 分片修改
x = [1,1,1]
x[1] = [3,4,5] #[1,[3,4,5],1] 修改元素
x=[1,1,1]
x[1:1] = [3,4,5] #[1,3,4,5,1,1] 分片修改
x=[1,1,1]
x[1:1] = [] # [1,1,1]
x[1:2] = [] # [1,1] 删除
x=[1,1,1]
x[1:2] = [None] #[1,None,1]
11,列表方法 append() count() index() insert() pop() remove() reserve() sort()
x=[1,2,3]
x.appenf(4) # [1,2,3,4]
x = [1,2,3,1]
x.count(1) # 2 出现2次
x=[1,2,3,4,'jrj','ppp']
x.index(4) #3 index为3
x= [1,2,3,4]
x.insert(3,'FF') # [1,2,3,'FF',4]
x= [1,2,3]
x.pop() # 得到3,x变为[1,2] pop与append结合可实现栈,pop和insert(0)结合可实现队列。
x=[1,2,3]
x.reverse() # [3,2,1]
x= [1,4,2,3]
x.sort() # 返回None 但是 x=[1,2,3,4]
x.sort(reverse=True) # 返回None 但是 x=[4,3,2,1]
x=['1','1111','111','11']
x=sort(key=len) # x = ['1','11','111','1111']
12. 列表的复制
x=[4,6,2,1,7,9]
y=[:] # 整个列表复制出一个副本给y
x.sort() # x = [1,2,4,6,7,9] , y =[4,6,2,1,7,9]
x = [4,6,2,1,7,9]
y=x #只复制引用,两个引用指向同一个列表
x.sort() # x= [1,2,4,6,7,9] ,y=[1,2,4,6,7,9]