元组的拆包和具名元组

本文介绍了Python中元组的拆包技巧,包括平行赋值和*号在函数调用中的使用。同时讲解了具名元组的创建与使用,如通过`collections.namedtuple`创建定制的元组类,并展示了如何通过具名元组来增强代码的可读性。这些概念在数据处理和函数参数传递中非常实用。
摘要由CSDN通过智能技术生成

1 元组的拆包

  • 平行赋值
x, y = (12, 5)

  • * 号拆包

* 运算符把一个可迭代的对象拆开作为函数的参数

>>> t=divmod(20,8)
>>> t
(2, 4)
>>> t=(20,8)
>>> divmod(*t)
(2, 4)
>>> t=[20,8]
>>> divmod(*t)
(2, 4)

  • 用*来处理剩余的元素

在平行赋值中,*前缀只能用在一个变量名前面,但是这个变量可以出现在赋值表达式的任意位置

>>> a,b,*rest = range(5)
>>> a,b,rest
(0, 1, [2, 3, 4])

>>> a,*middle,b = range(5)
>>> a,middle,b
(0, [1, 2, 3], 4)

2 具名元组

  • 创建具名元组
    实际上可以理解为创建一个没有操作方法的类
>>> from collections import namedtuple
>>> City = namedtuple('City', 'name country population coordinates')
>>> tokyo = City('Tokyo', 'JP', 36.933, (35.689722, 139.691667))
>>> tokyo
City(name='Tokyo', country='JP', population=36.933, coordinates=(35.689722, 139.691667))

创建的具名元组需要两个参数, 一个是类名, 另一个是类的各个字段的名字。后者可以由数个字符串组成的可迭代的对象,或者由空格分隔开的字段名组成的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值