字典、元组、集合的内置方法
字典内置方法
dic = {
'name' : 'jason'
'age' : 10
'hobbies': ['play game', 'basketball']
}
1. 字典只按K取值 k不存在会直接报错
print(dic['name'])
print(dic['jason'])
2. 按K修改值:新增键值对
dic['name'] = 'jason2'
print(dic)
dic['hobbies'].append('read')
print(dic)
dic['pwd'] = 111
print(dic)
3. 统计字典内部键值对的个数
print(len(dic))
4. 成员运算 默认只暴露K
print('jason' in dic)
print('name' in dic)
5. 删除元素
del dic['name']
方式二:指定K 然后弹出键值对
print(dic.pop('age'))
print(dic)
6. 获取V值
print(dic['name'])
print(dic['sdsd'])
print(dic.get('name'))
print(dic.get('sssd'))
print(dic.get('name', 'gary'))
print(dic.get('xxx', 'gary'))
7. keys() values() items() 在python2 中为列表 在python3中时迭代器
print(dic.keys())
print(dic.values())
print(dic.items())

字典拓展方法
dic = {
'name' : 'jason'
'age' : 10
'hobbies': ['play game', 'basketball']
}
1. 更新字典 : 键存在则修改,键不存在则创建
dic.update({'name': 'jason2', 'pwd': '111'})
print(dic)
2. 初始化字典
print(dict.fromkeys(['k1', 'k2', 'k3'],[]))
"""
res = dict.fromkeys(['k1', 'k2', 'k3'],[]))
res['k1'].append(111)
res['k2'].append(222)
res['k3'].append(333)
print(res)
res['k1'].append(123)
print(res)
"""
输出为:
{'k1': [111, 222, 333], 'k2': [111, 222, 333], 'k3': [111, 222, 333]}
{'k1': [111, 222, 333, 123], 'k2': [111, 222, 333], 'k3': [111, 222, 333]}
3. 当键存在的情况下 不修改而是获取键对应的值
print(dic.setdefault('name', 'jason'))
输出为 : jason
当键不存在的情况下 新增一对键值对 只返回键值对的值
print(dic.setdefault('name2','gary'))
输出为: gary
元组的内置方法
print(tuple(111))
print(tuple(1.123))
print(tuple('hello'))
print(tuple([1,2,3]))
print(tuple({'name':'jason', 'pwd': 123})
t1 = (111)
t2 = (2.22)
t3 = ('hello')
'''元组中元素后需要加逗号 哪怕只有一个元素'''
print(type(('111,')))
t = (111, 222, 333, 444, 555)
1. 索引取值
print(t[2])
print(t[-1])
2. 切片操作
print(t[1:5])
priny(t[:])
3. 步长
print(t[1:5:2])
4. 统计元组内元素的个数
print(len(t))
5.for 循环
for i in t:
print(i)
6. count计数
print(t.count(111))
t1 = (111, 222, [11, 22, 33])
t1[2].append(44)
print(t1)

集合去重操作
1. 定义空集合需要使用关键字set
s1 = set()
2. 类型转换 能够支持for循环的数据类型都可以转成集合(元素要为不可变类型)
s1 = {1, 2, 2, 2, 3, 4, 3, 4, 3, 1, 2, 3, 2, 1, 2, 3, 2, 1, 2, 3}
print(s1)
name_list = ['jason', 'jason', 'jack', 'jack', 'kevin', 'jason']
s1 = set(name_list)
l1 = list(s1)
print(l1)
去重并保留原来的顺序 (转为集合后会自动排序)
s1 = [1, 2, 2, 2, 3, 4, 3, 4, 3, 1, 2, 3, 2, 1, 2, 3, 2, 1, 2, 3]
s2 = []
for i in s1:
if i not in s2:
s2.append(i)
print(s2)
集合的关系运算
'''两个群体之间做差异比较'''
friends1 = {'jason', 'jack', 'gary', 'kevin'}
friends2 = {'xxx', 'www', 'jason', 'jack'}
1. 求两个用户的共同好友
print(friends1 & friends2)
2. 求两个用户所有的好友
print(friends1 | friends2)
3. 求用户1独有的好友:
print(friends1 - friends2)
4. 求用户2独有的好友:
print(friends2 - friends1)
5. 求用户1 和 用户2 各自的好友
print(friends1 ^ friends2)
6. 父集与子集
s1 = {11, 22, 33, 44}
s2 = {11, 22}
print(s1 > s2)
s3 = {55}
print(s1 > s2)

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)