Python 列表(list)的常用方法

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:对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错。 

 

 

posted @ 2022-10-20 16:13  小小程序员-lian  阅读(12186)  评论(0编辑  收藏  举报