Python06-2容器
2022/1/23 12:05:06
本文主要是介绍Python06-2容器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
容器篇
变量这种存储单个数据的容器,也会提供光存储多个数据容器
– 线性容器:具备顺序
数组(Array):连续内存
链表(List):Python list的容器,底层使用的就是双向链表结构
栈(Stack):先进后出
队列(Queue):先进先出
hash表:
list:
**列表:**是一种线性结构的容器,底层使用的是双向链表结构设计
定义一个 list 容器:
利用若数据类型语言的特点,直接将[]这种列表数据赋给变量,则变量就是list类型
ls = [1, 2, 3, 3, 23]
也可以使用全局函数 list
ls = list()
ls = list([1, 2, 3, 4, 5])
访问列表中的元素:
因为list是有序的线性结构,因此每一个都是存在下标(索引)的,所以可以直接通过下标来访问列表对象[下标] # 获取变量对应的元素
⏰ 注意:下标从0开始
得到list中的元素个数:
len(列表对象) # 返回对象的元素个数
列表的遍历:
for 临时变量 in 容器: 每一次循环得到一个元素,被保存到临时变量中 也可以使用while,通过索引获取
list列表的常见方法:
dir(模块/对象) # dir全局函数可以打印输出模块或者对象的方法或者属性 help(方法) # 返回帮助文档 ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
- append(新元素) # 在尾部添加新元素
- insert(index, 新元素) # 在index位置添加新元素
- extend(列表) # 合并列表
- clear() # 清空列表
- pop() # 删除最后一个元素
- remove(元素) # 删除对应的元素
- index(元素) # 返回元素的下标索引
- count(元素) # 统计某个元素在列表中的数量
- reverse() # 反转列表
- sort() # 数据的类型必须相同 sort(*, key=None, reverse=False)
- copy() # 复制list对象
set(集合):
set是一种无序的集合,是一种hash表(哈希表)的实现,所以具备如下特点:
1、无序
2、不重复
定义一个set:
s = {必须有元素} # 注意:不要使用空的{},这样定义的是字典
s = set()
s = set([1, 2, 3, 4])
# 相当于将list转化成了set
常见方法
[ 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
- add(新元素)
- discard() # 如果元素存在,移除元素
- pop() # 随机移除一个元素
- union() # 并集
- intersection() # 交集
- difference() # 差集
tuple(元组):
不可变数据类型,类似于其他编程语言的枚举类型
代表一组固定不变的
定义一个tuple:
season = ("春", "夏", "秋", "冬")
常见方法:
- index(元素) # 返回元素的下标索引
- count(元素) # 统计某个元素在列表中的数量
元组只有一个元素默认类型为该元素类型
强制设置只有一个元素的元组类型为元组,则在元素后,加逗号即可
dict(字典):
定义一个tuple:
d = {"name": "tom", "age": 16}
>>> d = {"name": "tom", "age": 16} >>> d.get("name") 'tom' >>> d.get("age") 16 >>> d.keys() dict_keys(['name', 'age']) >>> d.values() dict_values(['tom', 16]) >>> d["address"] = "Chongqing" # 增加键值对
常见方法:
['add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
- get(键) # 获取键对应的值
- keys() # 获取字典里所有的键
- values() # 获取字典里所有的值
- items() # 获取字典里所有的键值对
- pop(键) # 删除键值对
- popitem() # (LIFO)倒着删除
字典遍历:
d = {"name": "tom", "age": 16} for i in d: print(k) # 打印键 for j in d: print(j, d[j]) # 打印键值 for k in d.keys(): print(k, d[k]) # 打印键值 for (key, value) in d.items(): print(key, value) for res in d.items(): print(res[0], res[1]) #res[0]:键 res[1]:值
这篇关于Python06-2容器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 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编程入门教程