别小看元组
元组(tuple)和列表(list),每个写python的都知道,而且都知道,元组是不可变的,但是仅仅因为一个不可变就要创造出一个新的数据类型吗? 答案肯定不是,那么我们来看看元组究竟有哪些用法
1 把元组用作记录
元组其实是对数据的记录:元组中的每个元素都存放了记录中一个字段的数据,外加这个 字段的位置。正是这个位置信息给数据赋予了意义 比如经纬度信息就可以用一个元组来表示
|
|
这里使用元组来表示一个位置的经纬度,在print
时可以将其信息直接打印出来.
2 元组拆包
- 分别赋值
|
|
我们把元组 (‘Tokyo’, 2003, 32450, 0.66, 8014) 里的元素分别赋值给变量 city、year、pop、chg 和 area, 最好辨认的元组拆包形式就是平行赋值,也就是说把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元组中. 2. 还可以用 * 运算符把一个可迭代对象拆开作为函数的参数
|
|
- 也可以返回一个元组,在调用函数的时候分开接受这些返回值
|
|
- 用*来处理剩下的元素
|
|
3 具名元组
这个之前很少接触,collections.namedtuple
是一个工厂函数,它可以用来构建一个带字段名的元组和一个有名字的类,用 namedtuple
构建的类的实例所消耗的内存跟元组是一样的,因为字段名都被存在对应的类里面。这个实例跟普通的对象实例比起来也要小一些。
|
|
打印结果为
City(name=‘New York-Newark’, country=‘US’, population=20.103999999999999, coordinates=Loca(lat=40.808610999999999, lon=-74.020386000000002)) New York-Newark US 20.104 Loca(lat=40.808610999999999, lon=-74.020386000000002) 40.808611 -74.020386
创建一个具名元组需要两个参数,一个是类名,另一个是类的各个字段的名字.
元组在平时的工作中使用较少,主要还是用列表比较多,具名元组这个非常适用于那些比较小的类,以后可以多用用.
参考书籍:流畅的python,文中大部分代码是从中摘抄

- 文章标题: 别小看元组
- 本文链接: https://www.yangyanxing.com/article/tulple_detail.html
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。