Python数据结构
前言
本文面向 Python 初学者,从最基础的列表(List)讲起,帮助读者理解列表的定义方式,并掌握列表的访问、增删改以及常用操作函数。全文示例均使用简单直观的代码,建议边看边在本地运行,加深对列表这一最常用数据结构的理解。
列表的使用
1列表的定义(List)
#列表用方括号定义,元素逗号隔开
wuqi=["刀","枪","剑","戟"] numbers=[1,2,3,4,5] mixed=[1,'hello',True,3.14,'我爱你'] #列表可以包含任何类型,包括嵌套列表 test=[[1,2],[2,3],[3,4],[4,5]] #访问元素 wu=["刀","枪","剑","戟","斧"] print(wu[0]) #刀,第一个元素 print(wu[-1]) #斧,最后一个元素 print(wu[1:3]) #["枪","剑"] 1是下标为1;3是到第3个元素 #修改元素 wu[0]='弓箭' #修改元素 print(wu[0]) wu.append("千机伞") #在末尾添加元素 print(wu) wu.insert(1,"棍") #在指定位置插入 表示在下标为1的地方插入一个"棍" print(wu) wu.remove("剑") #删除指定元素 print(wu) popped=wu.pop() #弹出末尾元素 print(popped) print(wu.pop(3)) #弹出指定位置元素2列表操作
对列表操作有不少函数我们经常用到
numbers=[8,5,9,1,2,0,4,5] print(len(numbers)) #8长度 print(max(numbers)) #9最大值 print(min(numbers)) #0最小值 print(sum(numbers)) #34 求和 numbers.sort() #排序 print(numbers) numbers.reverse() #反转 列表整体倒过来 print(numbers) sorted_nums=sorted(numbers) #返回新列表 print(sorted_nums) #1-10的平方 squares=[x**2 for x in range(1,11)] #range(1,11)左包含 右不包含 所以范围是1-10 print(squares) #1-10的偶数的平方 even_squares=[x**2 for x in range(1,11) if x % 2 == 0] print(even_squares) #提取字符串列表中长度大于3的 words=["hi","hello","i","love","you","world"] long_words=[w for w in words if len(w)>3] print(long_words)
小总结
- 创建列表:使用方括号
[]定义,元素之间用逗号分隔,列表可以存放任意类型的数据,也支持嵌套。 - 访问元素:通过下标访问,下标从 0 开始,
-1表示最后一个元素,切片[1:3]可取出指定范围的元素。 - 增删改操作:
append()在末尾添加,insert()在指定位置插入,remove()删除指定元素,pop()弹出元素,直接赋值即可修改元素。 - 常用函数:
len()、max()、min()、sum()用于统计,sort()、reverse()、sorted()用于排序与反转,列表推导式可快速生成新列表。 - 学习建议:多动手写代码、多观察输出结果,把每个方法都亲自运行一遍,比单纯记忆语法更有效。
2.元组(Tuple)
#元组基础 #-------------------------------- #元组用圆括号定义,元素不可修改 colors=('红色','绿色','蓝色') point=(10,20)