list和tuple
1. 列表--list
列表用[]表示
l=[1,2,3,'zs'] print(l) 输出:[1,2,3,'zs']
1.利用下标获取列表元素,下标从0开始
print(l[3]) 输出:zs print(l[4]) 越界报错:IndexError: list index out of range
2.len()函数获取list元素的个数
print(len(l)) 输出:4
3.获取倒数第一个数
print(l[-1)) 输出:zs
4.向列表中追加元素append()方法
l.append('ls') print(l) 输出:l=[1,2,3,'zs','ls'
5.把元素插入到指定的位置,如索引为1的位置
l.insert(1,'we') print(l) 输出:[1,'we',2,3,'zs']
6.删除list末尾元素,pop()方法
print(l.pop()) 输出:zs print(l) 输出:[1,2,3]
删除指定位置的元素,用pop(i)方法,其中i是索引位置
print(l.pop(2)) 输出:3 print(l) 输出:[1,2,'zs']
7.元素替换,直接赋值对应的索引就可以。
l[0]='aq' print(l) 输出:['aq',2,3,'zs']
8.list嵌套
a=[4,5,6] l=[1,2,3,a,'zs'] print(l) 输出:[1,2,3,4,5,6,'zs']
可把嵌套后的列表当成二维数组,例如:访问a列表中的5元素。
print(l[3][1]) 输出:5
9.获取指定元素的下标位置,例如l列表中2的下标位置为1。
print(l.index(2)) 输出:1
2.元组
元组用()表示
t=(1,2,7,'df') print(t) 输出:(1, 2, 7, 'df')
1.获取元组中的元素
print(t[3]) 输出:df
2.元组中的值不能修改
t[3]='4' 报错:TypeError: 'tuple' object does not support item assignment
3.定义空的tuple
a=() print(a) 输出:()
4.定义只有一个元素的tuple要加逗号,否则会和数学中的()产生歧义
t=(3,) a=(3) print(type(t)) print(type(a) 输出:<class 'tuple'> <class 'int'>
注意到t的类型是元组,而a的类型是int
5.如果元组的中嵌套一个列表,那么元组里列表的元素是可变的。
t=(1,2,['sda','as'],7) t[2][0]='张三' print(t) 输出:(1, 2, ['张三', 'as'], 7)
6.获取指定元素的索引
print(t.index(2)) 输出:1
3.切片操作
l=['asd','sd','xa'] r=[] n=3 for i in range(n): r.append(l[i]) print(r) 输出:['asd', 'sd', 'xa'] # l[0:n] 取到0~(n-1) print(l[0:3]) 输出:['asd', 'sd', 'xa'] print(l[:3]) 输出:['asd', 'sd', 'xa'] print(l[1:3]) 输出:['sd', 'xa'] # L[-1]取倒数第一个元素,那么它同样支持倒数切片 print(l[-2:]) 输出:['sd', 'xa'] l=list(range(100)) print(l[0:10]) 输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(l[-10:]) 输出:[90, 91, 92, 93, 94, 95, 96, 97, 98, 99] print(l[11:20]) 输出:[11, 12, 13, 14, 15, 16, 17, 18, 19] # 前10个数,每两个取一个 print(l[:10:2]) 输出:[0, 2, 4, 6, 8] # 所有的数,每10个取一个 print(l[::10]) 输出:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90] t=(1,2,3,4) print(t[:3]) 输出:(1, 2, 3) a="abcds" print(a[::2]) 输出:acs