赞
踩
在Python中,数据结构是用来存储、组织和管理数据的方式,以便有效地执行各种数据操作。Python提供了几种内置的数据结构,每种都有其特定的用途和操作方法。以下是Python中一些主要的数据结构:
1.列表(List):
列表是一种有序的数据集合,可以动态地增加和减少元素。
列表中的元素可以是不同类型的,可以包含重复值。
列表支持索引和切片操作,可以通过索引访问或修改其中的元素。
2.元组(Tuple):
元组与列表类似,但是一旦创建就不能被修改(不可变)。
元组通常用于保护数据不被修改,以及当函数需要返回多个值时。
3.字典(Dictionary):
字典是基于键值对的数据结构,可以快速检索存储的数据。
每个键值对映射一个键到一个值。键必须是唯一的,而值则可以是任何数据类型。
字典是无序的,但从Python 3.7开始,字典维护元素的插入顺序。
4.集合(Set):
集合是一个无序的元素集,自动排除任何重复项。
集合主要用于测试成员资格、去除重复项和执行数学上的集合操作(如交集、并集、差集等)。
5.栈(Stack):
栈是一个后进先出(LIFO)的数据结构,只能在一端(通常是顶部)进行添加或移除元素。
Python中没有内置的栈数据结构,但可以使用列表来实现栈的功能。
6.队列(Queue):
队列是一个先进先出(FIFO)的数据结构,元素从一端添加,从另一端移除。
Python的collections
模块提供了deque
,支持从两端快速添加和删除元素,适用于队列实现。
这些数据结构是编程中的基本工具,帮助开发者有效管理和处理数据。
查看特定元素的索引:
- a=[1,2,3,3]
- b=[4,5,6]
-
- # 查看元素的索引 2的索引为1
- a.index(2) # 1
合并两个列表:
- # 合并两个列表
- a.extend(b)
- a # [1, 2, 3, 3, 4, 5, 6]
删除列表特定元素:
- # 删除列表元素
- a.remove(3)
- a # [1, 2, 3, 4, 5, 6]
列表添加元素:
- # 添加元素
- a.append(1)
- a # [1, 2, 3, 4, 5, 6, 1]
翻转列表:
- # 翻转列表
- a.reverse()
- a # [1, 6, 5, 4, 3, 2, 1]
列表排序:
- # 列表排序
- a.sort()
- a # [1, 1, 2, 3, 4, 5, 6]
列表弹出元素:
- # 弹出元素
- a.pop(1)
- a # [1, 2, 3, 4, 5, 6]
计算元素个数:
- # 计算列表中4的个数
- a.count(4) # 1
列表去重:
- # 列表去重
- a=[1, 4, 4, 5, 5, 5, 6, 6, 6]
- a=list(set(a))
- a # [1, 4, 5, 6]
去重并保持index不变:
- # 去重保持index不变
- ids = [1,4,3,3,4,2,3,4,5,6,1]
- news_ids = list(set(ids))
- news_ids.sort(key=ids.index)
- news_ids # [1, 4, 3, 2, 5, 6]
对以元组为元素的列表进行条件排序:
- # sorted函数
- import operator
- students=[('yan','A',15),('qiang','B',17),('li','O',20)]
- # 按照年龄进行逆排序(从大向小)
- sorted(students,key=operator.itemgetter(2),reverse=True)
- # [('li', 'O', 20), ('qiang', 'B', 17), ('yan', 'A', 15)]
列表转换成元组:
- # 将列表转换成元组
- a = [1, 4, 5, 6]
- tuple(a) # (1, 4, 5, 6)
列表切片操作:
- li=[1,2,3,4,5,6,7]
- li[1:] # [2, 3, 4, 5, 6, 7]
li[::-1] # [7, 6, 5, 4, 3, 2, 1]
- # 步长为2
- li[::2] # [1, 3, 5, 7]
- a="helloworld"
- max(a) # 'w'
min(a) # 'd'
len(a) # 10
- # 获取指定元素的index
- a.index('h') # 0
bool('o' in a) # True
a+a # 'helloworldhelloworld'
a*3 # 'helloworldhelloworldhelloworld'
a[5] # a[5]
a[1:4] # 'ell'
a[-1] # 'd'
字典转其他数据类型:
dict={'name':'quincy','age':7,'class':'First'}
- #字典转换成字符串
- print(str(dict),type(str(dict)))
- # {'name': 'Cheney', 'age': 30, 'class': 'First'} <class 'str'>
- # 字典转成元组
- print(tuple(dict))
- # ('name', 'age', 'class')
- # 字典的值转换成元组
- print(tuple(dict.values()))
- # ('Cheney', 30, 'First')
- #字典索引转换成列表
- print(list(dict))
- # ['name', 'age', 'class']
- #字典的值转换成列表
- print(list(dict.values()))
- # ['Cheney', 30, 'First']
元组转其他数据类型:
tup=(1,2,3,4,5)
- # 元组转换成字符串
- print(str(tup),type(str(tup)))
- tup_str=str(tup) # (1, 2, 3, 4, 5) <class 'str'>
- # for ele in tup_str:
- # print(ele)
-
- # 元组转换成列表
- print(list(tup)) # [1, 2, 3, 4, 5]
元组不可以转化成字典。
列表转其他数据类型:
nums=[1,2,3,4,5,6,7]
- # 将列表转换成字符串
- print(str(nums), type(str(nums))) # [1, 2, 3, 4, 5, 6, 7] <class 'str'>
- # 将列表转换成元组
- print(tuple(nums)) # (1, 2, 3, 4, 5, 6, 7)
列表不可以转换成字典。
字符串转其他数据类型:
- # 字符串转化为元组
- print(tuple(eval("(1,2,4)"))) # (1, 2, 4)
- # 将字符串转化为列表
- print(list(eval("[1,2,4]"))) # [1, 2, 4]
- # 将字符串转为字典
- # eval 将字符串str当成有效的表达式来求值并返回计算结果。
- print(eval("{'name':'cheney','age':23}"))
- print(type(eval("{'name':'Cheney','age':23}")))
-
- # {'name': 'cheney', 'age': 23}
- <class 'dict'>
以上内容总结自网络,如有帮助欢迎转发,我们下次再见!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。