python元组,集合类型,及字典补充

简介: 一、元组 元组与列表基本相同,不同之处在于元组只能存不能取,当多个值没有改的需求时,用元组更合适 元组的基本操作 1.创建元组: t = (1, 2, 3, 4, 2,4,) t = (1,) #单个元组的命名要加上逗号,否则识别为int型 2.需要掌握的操作: print(t.count(4))#返回4在元组中出现的次数 print(t.index(2,3,7))#返回2在元组中,从索引3开始查找到7所出现位置的索引 修改元组: 直接通过元组下标修改元组是非法的,不过可以通过凭借完成。

一、元组

元组与列表基本相同,不同之处在于元组只能存不能取,当多个值没有改的需求时,用元组更合适

元组的基本操作

1.创建元组:

t = (1, 2, 3, 4, 2,4,)
t = (1,) #单个元组的命名要加上逗号,否则识别为int型

2.需要掌握的操作:

print(t.count(4))#返回4在元组中出现的次数
print(t.index(2,3,7))#返回2在元组中,从索引3开始查找到7所出现位置的索引

修改元组:

直接通过元组下标修改元组是非法的,不过可以通过凭借完成。

t = (1, 2, 3, )
t1 = (3, 4, 5,)
t = t + t1
print(t)#结果(1, 2, 3, 4, 5)

删除元组:元组是无法删除的,只能通过del(会报错)

作业:将用户输入的菜名添加到元组中

   思路:元组不可以直接添加内容,但是元组与元组之间是可以拼接的,通过将接受到的数据转换成元组,然后与一个空元组进行拼接。

# foods = ()
# for i in range(5):
#     food = tuple(input('请输入菜名:').strip())
#     foods = foods+food
# print(foods)

二、字典类型

键必须是唯一的,但值则不必。键重名时,后面声明的会覆盖前面的值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

声明字典的几种方法:

# 1.
# dic = {
#     'name': 'zfj',
#     'age': 18,
#     'sex': 'male',
# }
# print(dic)
# 2.
# dic1 = dict(name='zfj', age=18, sex='male',)
# dic1 = dict(name='zfj', age=18, 2='male',)# 必须保证key为字符串类型,否则会报错
# print(dic1)
# 3.
# dic2 = dict([['name', 'zfj', ], ('age', 18, ), ('sex', 'male')])
# print(dic2)
# 4.所有键的值都相同或者赋予初始值
# dic3 = {}
# dic3 = dic3.fromkeys(('name', 'age', 'sex'), 'value1')
# print(dic3)

访问字典:字典通过key访问值,要是访问不存在的key则会报错

dic = {
    'name': 'zfj',
    'age': 18,
    'sex': 'male',
}
print(dic['job'])# 出错

修改字典:

dic = {
    'name': 'zfj',
    'age': 18,
    'sex': 'male',
}
dic['job'] = 'SH'
print(dic) # 向字典中添加'job':'SH'
dic['name'] = 'ZFJ'
print(dic)# 修改字典中的'zfj'为'ZFJ'
print(dic.get('name')) #get是获得键值为name的value
dic1 = {'xxx': '111'}
dic.update(dic1)# update 是将dic1中的内容添加到dic中
print(dic)

setdefault的用法:

dic.setdefault('name', 'dsb')#如果字典中已经存在key(‘name’)那么不修改原值
print(dic)
dic.setdefault('job', 'SH')#如果字典中没有存在key(‘job’)那么添加内容置字典
print(dic)

删除字典:

# dic.pop('age')
# print(dic)# 按键值删除
# dic.popitem()
# print(dic)# 随机返回并删除字典中的一对键和值(一般删除末尾对)。
# dic.clear()
# print(dic)# 清空字典

三、集合

是一个无序不重复元素的序列

特点:1.每一个值都是不可变类型 2.元素不能重复 3.集合内的元素无序

用处:关系运算,去重

定义:在{}内用逗号分隔开的多个值或者 set() 函数创建集合。 注:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合去重也具有局限性:1.无法保证原数据的顺序。2.当某一个数据中包含多个值全部为不可变类型才能使用集合

集合基本操作:

# a = {'小明', '小李', '小王', 'abc'}
# b = {'abc', 'qwe', 'fgh', '小李'}
# print(a & b) # 交集
# print(a | b) #合集
# print(a ^ b) #对称差集   不包含交集的所有部分
# print(a - b)# a与b的差集  就是输出a中除了包含b中有的内容
# print(b - a)# b与a的差集  就是输出b中除了包含a中有的内容

添加,删除:

# a.add('xiaowang') #添加,如果元素已存在,则不进行任何操作
# a.update('s')
# a.update('b')# update不仅可以添加字符串还可以添加列表,元组,字典
# a.remove('小明')#删除'小明' 不存在则报错
# a.discard('小明')#删除, 不存在不会报错
# a.pop()#随机删除
print(a)

 

 

加油!

 

焚膏油以继晷,恒兀兀以穷年。
相关文章
|
7天前
|
IDE 开发工具 开发者
Python类型注解:提升代码可读性与健壮性
Python类型注解:提升代码可读性与健壮性
166 102
|
10天前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
100 2
|
5月前
|
索引 Python
Python的变量和简单类型
本文介绍了Python中变量命名规则、常用变量类型及字符串操作。变量命名需遵循字母、数字和下划线组合,不能以数字开头且不可与关键字冲突。字符串支持单引号、双引号或三引号定义,涵盖基本输出、转义字符、索引、拼接等操作。此外,还详细解析了字符串方法如`islower()`、`upper()`、`count()`等,帮助理解字符串处理技巧。
130 15
|
1月前
|
安全 JavaScript Java
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
本文通过10个真实场景,深入解析Python中表示“空值”的None与NoneType。从单例模式、函数返回值,到类型注解、性能优化,全面揭示None在语言设计与实际编程中的核心作用,帮助开发者正确高效地处理“无值”状态,写出更健壮、清晰的Python代码。
163 3
|
1月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
96 0
|
1月前
|
IDE API 开发工具
Python类型注解:让代码“开口说话”的隐形助手
Python类型注解为动态语言增添类型信息,提升代码可读性与健壮性。通过变量、函数参数及返回值的类型标注,配合工具如mypy、IDE智能提示,可提前发现类型错误,降低调试与协作成本。本文详解类型注解的实战技巧、生态支持及最佳实践,助你写出更高质量的Python代码。
118 0
|
4月前
|
Python
Python技术解析:了解数字类型及数据类型转换的方法。
在Python的世界里,数字并不只是简单的数学符号,他们更多的是一种生动有趣的语言,用来表达我们的思维和创意。希望你从这个小小的讲解中学到了有趣的内容,用Python的魔法揭示数字的奥秘。
121 26
|
4月前
|
人工智能 安全 IDE
Python 的类型安全是如何实现的?
本文探讨了 Python 的类型安全实现方式。从 3.5 版本起,Python 引入类型提示(Type Hints),结合静态检查工具(如 mypy)和运行时验证库(如 pydantic),增强类型安全性。类型提示仅用于开发阶段的静态分析,不影响运行时行为,支持渐进式类型化,保留动态语言灵活性。泛型机制进一步提升通用代码的类型安全性。总结而言,Python 的类型系统是动态且可选的,兼顾灵活性与安全性,符合“显式优于隐式”的设计哲学。
|
3月前
|
人工智能 前端开发 数据处理
如何将Python元组转换为列表
本文介绍了在Python中将元组转换为列表的方法。通过内置的`list()`函数,可以轻松地将一个元组转换为列表。此外,文章还提供了如何使用列表推导式和`itertools.chain()`方法将包含多个元组的列表展平为单一列表的示例。这些方法对于数据处理和转换非常实用,能够帮助开发者高效操作序列类型数据。文中附有代码实例及输出结果,便于理解与实践。
|
5月前
|
存储 缓存 安全
Python frozenset 集合详解:不可变集合的终极指南
frozenset是Python中一个常被忽视但极具价值的不可变集合类型。本文深入解析其本质、操作方法与应用场景,揭示其通过不可变性带来的安全性与性能优势。从底层实现到实战案例,涵盖字典键使用、缓存优化及类型注解等高级场景。同时对比性能数据,提供最佳实践指南,并展望Python 3.11+中的优化。掌握frozenset,可为代码带来更强健性与效率,适合多种特定需求场景。
221 5

推荐镜像

更多