Python 列表(list)的常用方法
作者:lxxduang 时间:2022-05-04 19:05:20
Python 包含6种数据类型,其中Number(数字)、String(字符串)、Tuple(元组)、List(列表)、Dictionary(字典)、Set(集合);这节主要讲列表,列表用于存储任意数目、任意类型的数据集合。列表是内置可变序列,是包含多个元素的有序连续的内存空间,列表一般用 [ ] 表示;列表的一些常用方法是与字符串相通的,用法也是一样的;
接下来查看List常用方法:
①:list()方法:可以将任何可迭代的数据转化成列表
a = 'hello world'
print(list(a)) # 将字符串转化为列表
print(list(range(0,10)))
②:列表元素的增加方法:包括append(),+运算符操作,extend(),insert()
append():原地修改列表对象,是真正的列表尾部添加新的元素,速度最快,推荐使用
a = [10,20]
print('原来a的值为:',a)
a.append(30)
print('第一次追加数字:',a)
a.append('hi')
print('第二次追加字符串:',a)
a.append(True)
print('第三次追加布尔值:',a)
a.append({'name':'lisi'})
print('第四次追加字典:',a)
a.append((1,2,3))
print('第五次追加元组:',a)
+运算符操作:不是真正的尾部添加元素,而是创建新的列表对象;将原列表的元素和新列表的元素依次 复制到新的列表对象中。这样,会涉及大量的复制操作,对于操作大量元素不建议使用
a = [10,20]
print('原先的a:',a)
print('a原先的id:',id(a))
a = a+[10]
print('a+运算后的a:',a)
print('a+运算后的id:',id(a))
extend():将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象a = [10,20]print('原先的a:',a)print('a原先的id:',id(a))a.extend([30])print('extend添加后的a:',a)print('extend添加后的id:',id(a))
insert():将指定的元素插入到列表对象的任意制定位置,让插入位置后 面所有的元素进行移动,会影响处理速度。涉及大量元素时,尽量避免使用
a = [10,20,30]
# insert(索引位置,插入的元素)
a.insert(2,15)
print(a)
③:列表元素的删除方法:包括del ,pop(),remove()
del:删除列表指定位置的元素,功能类似insert用法,后面的元素进行移动,会影响处理速度
a = [10,20,30,40,50]
# 指定元素的下标
del a[1]
print(a)
pop():删除并返回指定位置元素,如果未指定位置则默认操作列表最后一个元素
a = [10,20,30,40,50]
# 默认删除最后一个元素,返回指定位置元素
print('默认删除最后一个元素:',a.pop())
# 指定下标元素
print('指定删除20这个元素:',a.pop(1))
remove():删除首次出现的指定元素,若不存在该元素抛出异常
a = [55,22,33,44,22,66,33,22]
# 删除首次出现的指定元素
a.remove(22)
print(a)
print(a.remove(2))
④: count():统计列表元素出现的计数
a = [55,22,33,44,22,66,33,22]
print(a.count(22))
⑤:len()返回字符串的长度
a = [55,22,33,44,22,66,33,22]
print('列表a的长度为:',len(a))
⑤: 切片 slice标准格式为:[起始偏移量 start:终止偏移量 end[:步长 step]]
a = [55,22,33,44,22,66,33,22]
# 列表元素的切片 按照下标索引进行切分,切分规则包头不包尾,索引从0开始
print('切前三个元素:',a[0:3])
print('切最后三个元素:',a[-3:])
print('切33,44这两个元素:',a[2:4])
print('倒序输出整个列表:',a[::-1])
⑥:sort():列表排序,修改原列表,不建新列表的排序
a = [23,4,6,1,33,90,78,100,-1,-34]
print('排序前的a列表为:',a)
a.sort() #默认是升序排列
print('排序后的a列表为:',a)
a.sort(reverse=True) #降序排列
print('降序排序后的a列表为:',a)
⑥: 列表内置函数,max() min()sum()
# 针对数值型的内置函数使用
a = [10,20,30]
print('a的最小值为:',min(a))
print('a的最大值为:',max(a))
print('a的和为:',sum(a))
# 针对非数值型内置函数的使用
a = ['ban','pen','can']
print('a的最小值为:',min(a))
print('a的最大值为:',max(a))
print('a的和为:',sum(a))
ps:对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错。
来源:https://www.cnblogs.com/lxxduang/p/16810253.html