【Python】列表常用方法总结
2022/2/10 11:16:14
本文主要是介绍【Python】列表常用方法总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
列表描述
- 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型
- 列表是一种有序的集合,序列都可以进行的操作包括索引,切片,加,乘,检查成员。
- Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
- 与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
创建列表
>>> list1 = ['python', 2018, 'python3', 1994] >>> list1 ['python', 2018, 'python3', 1994] >>> list2 = [1, 2, 3, 4] >>> list2 [1, 2, 3, 4] >>> list3 = ['a', 'b', 'c', 'd'] >>> list3 ['a', 'b', 'c', 'd']
获取列表元素个数(长度)
>>> list1 = ['python', 2018, 'python3', 1994] >>> len(list1) 4
访问列表中的值
- 使用索引来访问列表中的值,列表的索引从0开始
>>> list1 = ['python', 2018, 'python3', 1994] >>> list1[0] 'python'
注意:当索引超出范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(list1) - 1。
2. 获取最后一个元素
>>> list1[-1] 1994
- 切片
- 使用索引从列表中获取多个元素,叫列表分片
截取列表前3个元素:
>>> list1 = ['python', 2018, 'python3', 1994] >>> list1[0:3] ['python', 2018, 'python3'] >>> list1[:3] #如果第一个索引是0,可以省略 ['python', 2018, 'python3']
倒数切片:
>>> list1[-2:] #获取后2个元素 ['python3', 1994] >>> list1[-2:-1] # 获取倒数第二个元素 ['python3']
前4个元素,每两个取一个:
>>> list1[:4:2] ['python', 'python3']
所有元素,每3个取一个:
>>> list1[::3] ['python', 1994]
原样复制一个列表:
>>> list1[:] ['python', 2018, 'python3', 1994]
合并列表
>>> list1 = ['python', 2018, 'python3', 1994] >>> list2 = [1, 2, 3, 4] >>> list4 = list1 + list2 >>> list4 ['python', 2018, 'python3', 1994,1, 2, 3, 4]
修改列表
用索引来修改元素
>>> list1 ['python', 2018, 'python3', 1994] >>> list1[1] = 2017 >>> list1 ['python', 2017, 'python3', 1994]
删除列表元素
- remove(): 从列表删除你选择的元素,你不需要知道这个元素的具体位置,只需要知道它是否在列表中,如果不在列表中会报错.
list=['python', 2018, 'python3', 1994] list.remove('python') print(list) [2018, 'python3', 1994]
- del: 利用索引从列表中删除元素
list=['python', 2018, 'python3', 1994] del list[0] print(list) [2018, 'python3', 1994]
- pop():括号里没有提供参数时,pop()会返回最后一个元素,并把它从列表中删除。
如果在括号中放入一个参数,pop(N)会给出这个索引位置上的元素,并把它从列表中删除
1) 从列表中删除最后一个元素。可以为最后一个元素指派一个名字
list=['python', 2018, 'python3', 1994] latlist=list.pop() print(latlist) print(list) 1994 ['python', 2018, 'python3']
2)通过索引删除
list=['python', 2018, 'python3', 1994] latlist=list.pop(1) print(latlist) print(list) 2018 ['python', 'python3', 1994]
搜索列表
- in关键字:查找元素是否在列表中,如果在列表中会返回True,否则返回False
if 'a' in newList: print ('find a in newList') else : print ('do not find a in newList')
- index(): 查找元素在列表中的哪个位置(元素的索引),和remove()一样,如果没有找到这个元素会报错,最好和in结合使用
print (list.index('python')) 0
列表排序
- sort() : 按字母顺序从小到大进行排序,数字同理,永久排序
newList=[1,3,4,2] newList.sort() print(newList) [1,2,3,4]
- reverse(): 按逆序排列.先按照正常的顺序排序,再reverse
永久排序
newList.sort() newList.reverse() print(newList) [4,3,2,1]
- sort(reverse = True):增加参数,直接逆序排列,永久排序
newList.sort(reverse = True) print(newList) [4,3,2,1]
- sorted(list,reverse=True、False): 按顺序排列,不影响原来的列表,临时排序。True 倒序,False正序
- reversed(list):临时倒序
old = [5,4,3,2,1] new = sorted(old) print(old) print(new) [5,4,3,2,1] [1,2,3,4,5]
清空列表
>>> list1 ['python', 2017, 'python3', 1994] >>> list1.clear() >>> list1 []
向列表增加元素
- append(): 追加,在列表末尾增加一个元素。该方法无返回值,但是会修改原来的列表
list1 = ['Google', 'Runoob', 'Taobao'] list1.append('Baidu') print ("更新后的列表 : ", list1) 更新后的列表 : ['Google', 'Runoob', 'Taobao', 'Baidu']
- extend(): 向列表末尾增加多个元素,一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
list1 = ['Google', 'Runoob', 'Taobao'] list2=list(range(5)) # 创建 0-4 的列表 list1.extend(list2) # 扩展列表 print ("扩展后的列表:", list1) 扩展后的列表: ['Google', 'Runoob', 'Taobao', 0, 1, 2, 3, 4]
- insert(index, obj): 在列表中的某个位置增加一个元素,不一定非要在列表末尾
list1 = ['Google', 'Runoob', 'Taobao'] list1.insert(1, 'Baidu') print ('列表插入元素后为 : ', list1) 列表插入元素后为 : ['Google', 'Baidu', 'Runoob', 'Taobao']
统计元素在列表中出现的次数
list.count(obj): 返回元素在列表中出现的次数,一个都没有返回0
aList = [123, 'Google', 'Runoob', 'Taobao', 123]; print ("123 元素个数 : ", aList.count(123)) print ("Runoob 元素个数 : ", aList.count('Runoob')) 123 元素个数 : 2 Runoob 元素个数 : 1
浅拷贝和深拷贝
copy.copy(li)
浅拷贝,对地址的拷贝,被拷贝的列表中可变类型改变,新的列表也会改变。不可变类型改变,新的列表不变copy.deepcopy(li)
深拷贝,对值的拷贝,产生新的列表与被拷贝的列表互不影响li = old_li
赋值,两个变量都指向同一个内存块,修改li会对old_li产生影响,同理,修改old_li也会对li产生影响
数组遍历
lists = [1, 2, 3, 4, 5] print("--------# 只遍历值------------") # 只遍历值 for i in lists: print(i) print("--------# 逆序遍历--1----------") # 逆序遍历 for i in lists[::-1]: print(i) print("--------# 逆序遍历--2----------") # 逆序遍历 for i in range(len(lists), 0, -1): print(i) print("--------# 遍历键和值--2----------") # 遍历键和值 for idx, val in enumerate(lists): print(idx,':',val) print("--------# 遍历键----------") # 只遍历键 for idx in range(0, len(lists)): print(idx)
这篇关于【Python】列表常用方法总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门