元组高级用法
【摘要】
元组高级用法
1.概述
这篇文章总结元组使用过程中的一些技巧。
2.元组基本操作
2.1.创建和访问元组
元组是一个有序不可变的容器类型,元组也有两种定义方式,字面量表达式和tuple() 内置...
元组高级用法
1.概述
这篇文章总结元组使用过程中的一些技巧。
2.元组基本操作
2.1.创建和访问元组
元组是一个有序不可变的容器类型,元组也有两种定义方式,字面量表达式和tuple() 内置函数
# 字面量创建元组,定义元组的关键是逗号,因此括号可以删除。
number = (1, 2, 3)
# 使用内置函数tupler()创建元组
t = tuple('foo')
# 通过切片方式访问元组内容
t1 = t[0]
t2 = t[0:]
t3 = t[0:-1]
t4 = t[-1]
print(t1)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
2.2.函数返回多个结果就是返回元组
在python中函数可以一次返回多个结果,其实是通过返回一个元组类型实现的。
# 函数一次返回多个值
def get_rectangle():
'''
返回长方形的宽和高
:return:
'''
width = 100
height = 200
return width, height
result = get_rectangle()
print(f'输出长方形的宽和高:{result}, 输出返回结果数据类型:{type(result)}')
# 将函数返回值一次赋值给多个变量时,其实就是对元祖做了一次解包操作
width, height = get_rectangle()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
2.3.元组没有推导式但可以创建生成器
元组是没有推导式的,而是返回一个生成器对象。因此他是生成器推导式
不过生成器是一种可迭代类型,所以可以通过tuple内置函数创建元组。
# 元组没有推导式
result = (n * 100 for n in range(10) if n % 2 == 0)
print(result)
# 输出结果不是元组,而是生成器对象
<generator object <genexpr> at 0x10a259a10>
t = tuple(result)
print(f'生成器创建元组:{t}')
# 输出结果
生成器创建元组:(0, 200, 400, 600, 800)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
2.4.具名元组
元组常用来存放结构化数据,但只能通过数字来访问元组成员其实不是很方便,为了解决这个问题,引入了具名元组。
具名元组在保留普通元组的基础上,允许为元组的每个成员命名,这样就是通过名称而不是数字访问元组成员。
创建具名元组需要用到namedtuple()函数,它位于标准库的collections模块里,使用前需要先导入。
# 具名元组
from collections import namedtuple
# 初始化具名元组
rectangle = namedtuple('rectangle', 'width, height')
# 为元组赋值
rect = rectangle(100, 200)
print(f'通过名称访问元组成员,width:{rect.width}, height: {rect.height}')
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/126472905
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)