python 四大容器

python四大容器

1、列表 List

# 列表
# 定义: list1 = [元素1,元素2,元素3,......]
# 特点:元素不唯一,元素的类型可以不唯一,有序(根据是否可以通过下标获取元素)、可变
list1 = [1, 2, 3, 4, 5, 5, "a", "b", "c", 1.1, True, False]
print(list1, type(list1))

# 查找元素
# 通过下标获取元素
# 下标(index):从零开始,
print(list1[2])
print(list1.index('a'))  # 传入一个值,返回该值第一次出现的位置

# 增加一个元素
list1.append('d')
print(list1)

# 修改元素
# 给定对应得下标直接进行修改
list1[1] = 10
print(list1)
list1.insert(0, 9)  # 增加一个元素
print(list1)

# 删除元素
list1.pop()  # 弹出最后一个元素:删除最后那一个元素
print(list1)
list1.remove('a')  # 指定一个值进行移除
# list1.clear()  # 清空列表

# 其他的操作
print(list1.count(4))  # 统计一个值出现的次数
list1.reverse()  # 反转
print(list1)

list2 = [2, 1, 6, 7, 4, 5, 3]
list2.sort()  # 排序  默认升序 ,倒序传入参数 reverse = true
print(list2)

list1.extend(list2)  # 相当于 list1 = list1 + list2  会对list1做一个修改
print(list1)

# 切片
# list3[起始位置:结束位置:步长]
list3 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list3[1:5:1]) #[2, 3, 4, 5]  包含起始位置,不包含结束位置,左闭右开,所以 5
print(list3[1:8:2])  # [2,4,6,8]
# 通过切片进行反转
# 负索引:从右往左第几个元素
print(list3[5])  # 6
print(list3[-4])  # 6

print(list3[::-1])  # 反转

print(list3[-2:-6:-1])  # [8, 7, 6, 5]

# join 方法
list4 = ['1', '2', '3', '4']
sepStr = '|'
print(sepStr.join(list4))  # 1|2|3|4.....

2、元组Tuple

# 元组
# 定义:tuple = (元素1,元素2,......,元素N)
# 特点:元素可以重复,元素的类型可以不唯一,有序,不可变
# "不可变" : 指向不变
tuple1 = (1, 2, 2, 2, 3, 3, 4, 5, 6, 'a', 'b', 1.1)
print(tuple1, type(tuple1))

print(tuple1[4])  # 3

# tuple1[4] = 33 # 不能对元组进行修改

# 也支持切片
print(tuple1[0:4:1])

# 注意:当元组只有一个元素的时候,初始化时记得加上逗号","
tuple2 = (1,)
print(tuple2, type(tuple2))

list1 = [1, 2, 3]
tuple3 = ('a', 'b', 'c', list1)
print(tuple3, type(tuple3))
tuple3[3][1] = 22
print(tuple3, type(tuple3))

3、字典Dict

# 字典Dict
# 定义:dict1 = {k1:v1,k2:v2,k3:v3,......}
# 特点:里面每个元素都是k:v键值对,适用于查找场景,key要求唯一,key必须是不可变类型,无序, 可变的
# 不可变类型:基本数据类型、tuple
dict2 = {"k2": 'v222'}
dict1 = {'k1': 'v1', 'k2': 'v2'
    , 'k3': 'v3', 1: '1', 0: '0'
    , 1: 'True', 2: '2', 1.1: '1.1'}
print(dict1, type(dict1))

# 查询元素
# 通过key获取value
print(dict1['k1'])
print(dict1['k3'])
# print(dict1['k4'])  # key不存在即抛出异常
print(dict1.get('k4', '如果key不存在即返回'))  # 推荐使用这种方式  get方法

# 增加元素
dict1['k4'] = 'v4'
print(dict1)

# 修改元素
dict1['k4'] = 'vv4'
print(dict1)

# 删除元素
# pop 按照传入的key进行删除
dict1.pop(0)
dict1.pop(1)
dict1.pop(2)
print(dict1)

# 常用方法

print(dict1.keys())  # 获取所有的key
print(dict1.values())  # 获取所有的key

print(dict1)
dict1.clear()  # 清空

4、集合Set

# 集合Set
# 定义:set1 = {元素1,元素2,元素3......}
# 特点:元素唯一,元素的类型可以不唯一,无序,可变
# 会自动对重复的元素进行去重
# 主要适用于数学上的集合运算(交集、并集、差集......)
set1 = {1, 2, 2, 3, 4, 'a', 'b', 'b', 'c', 1.1}
print(set1, type(set1))

# 查看容器的长度
print(list1)
print(len(list1))
posted @   坤坤无敌  阅读(428)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示