列表
关键特性:
1.是可变的数据类型(可进行增删改查)
2.可以存放不同数据类型
3.是有序的,可以索引的
- 列表常见的用法:
- 创建一个列表
# 创建一个空列表,等效 less1 = list() 列表是有序的,可以索引
less1 = []
# 创建一个不同数据类型的列表
less2 = ['m', 1, ['b', 5], 2.0, ('c', 2), {'name': 'admin'}]
- 增加
# 把一个元素添加到列表的结尾:append(self, object)
less3 = [1,2,'a','b']
less3.append('c') #得到 ['1', '2', 'a', 'b', 'c']
# 通过添加指定列表的所有元素来扩充列表:extend(self, iterable) terable(可迭代的,迭代器)
less3 = [1,2,'a','b']
less3.extend([4,5,6]) #得到 [1, 2, 'a', 'b', 4, 5, 6]
# 在指定位置插入一个元素,index是要插入位置的索引,object是要插入的元素:insert(index, object)
less3 = [1,2,'a','b']
less3.insert(3,'D') #得到 [1, 2, 'a', 'D', 'b']
- 删除
# 从列表中删除值为x的第一个元素,若没有,则返回一个错误: remove(x)
less3 = [1,2,'a',1,'b']
less3.remove(1) # 得到[2,'a',1,'b']
# 从列表中的索引或切片删除: del
less3 = [1,2,'a',1,'b']
del less3[2] #得到 [1, 2, 1, 'b']
# 切片删除
less3 = [1,2,'a',1,'b']
del less3[0:2] #得到 ['a', 1, 'b']
# 从列表中删除index指定的索引的值,并将其返回: pop(index=None)
less3 = [1,2,'a',1,'b']
less3.pop(2) #得到 [1, 2, 1, 'b']
# 若没有指定索引,默认删除最后一个元素,并将其返回
less3 = [1,2,'a',1,'b']
less3.pop() #得到 [1, 2, 'a', 1]
# 清空了列表
less3 = [1,2,'a',1,'b']
less3[:] = []
- 修改
# 对指定索引进行赋值操作,对一个元素
less3 = [1,2,'a',1,'b']
less3[1] = 'ab' #得到 [1, 'ab', 'a', 1, 'b']
# 对一段元素
less3 = [1,2,'a',1,'b']
less3[0:2] = [7,8,'ede','dede'] #得到 [7, 8, 'ede', 'dede', 'a', 1, 'b']
- 其他操作
# 跟索引取值
less3 = [1,2,'a',1,'b']
less3[0] #得到1
less3[-1] #得到 b
# 返回索引
# 返回列表中第一个值为 x 的元素的索引,不存在就返回错误. 可指定开始点和结束点的索引,范围前开后闭:index( x, start=None, stop=None)
less3 = [1,2,'a',1,'b']
less3.index(1) #得到 0
less3.index(2) #得到 1
less3.index('a') #得到2
注:除 index()、count() 外,其余的方法都是对列表本身进行修改,操作过后,列表会改变
常见操作:
统计一个元素的出现次数:count(x)
less3 = [1,2,'a',1,'b']
less3.count(1) #得到 2
切片
#列表切片前后原列表不变,切出来的分片是重新开辟一块内存的列
less3 = [1,2,'a',1,'b']
less3[0:2] #返回[1, 2], 取区间[i,j) ,左闭右开
less3[:2] #返回[1, 2],可省略第一位
less3[2:] #返回['a', 1, 'b']
less3[2:-1] #返回 ['a', 1]
less3[:] #返回 [1, 2, 'a', 1, 'b'] 相当于复制一份
less3[::2] #返回 [1, 'a', 'b'] 步长为2
less3[:4:2] #返回 [1, 'a']
排序
#对列表中的元素进行排序,默认从小到大,不能比较不同类型数据,key指定以...排序,reverse=True 表示逆序(从大到小):sort(key=None, reverse=False)
less4= [3,2,7,5,1,4,9,0,23,13]
less4.sort()#得到 [0, 1, 2, 3, 4, 5, 7, 9, 13, 23]
列表的复制,等于lis[:]
less3 = [1,2,'a',1,'b']
less4 = less3[:]
遍历列表
less3 = [1,2,'a',1,'b']
for i in less3:
print i
计算列表长度
less3 = [1,2,'a',1,'b']
len(less3) #得到 5
列表的比较
#对应索引的元素一一对应比较
#从第一个元素开始比较(索引为0),只要有一个元素大,后面就不用再比较。类似字符串的比较,但字符串比较多是Asscii码
less3 = [1,2,'a',1,'b']
less4 = [3,2,7,5,1,4,9,0,23,13]
less3>less4 #得到 False
less3<less4 #得到 True
判断元素是否在列表内 in 、not in
less3 = [1,2,'a',1,'b']
1 in less3 #得到 True
0 not in less3 #得到 True
网友评论