Chinaunix首页 | 论坛 | 博客
  • 博客访问: 67339
  • 博文数量: 27
  • 博客积分: 96
  • 博客等级: 民兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-04 02:05
文章分类
文章存档

2012年(13)

2011年(14)

我的朋友

分类:

2011-12-30 22:20:01

原文地址:python 序列类型 作者:netwenk


元组
元组是一个有序的序列,包括0-多个对象序列。元组是固定的,不能对其进行修改及删除其中的数据项。
元组的创建
  1.        1、tuple()    #创建一个空的元组
  2.         2、tuple("ABCD")    #('A','B','C','D')
  3.         3、()    #创建空元组
  4.         4、('A','B','C')
  5.         5、t = 'A','B','C'
t.count('A')
返回'A'在元组t中出现的次数

t.index('B')
返回'B'在元组t中最左出现的位置,如果元组中不包括'B'则 报错ValueError
元组支持连接(+) 赋值(*) 分片([])以及in not in操作
  1.         t + tuple("XYZ")    #('A', 'B', 'C', 'X', 'Y', 'Z')
  2.         t[2]                        #C
  3.         t[2:-1]                   #('C', 'X', 'Y')
  4.         'Y' in t                   #True
  5.         'y' in t                   #False
  6.         G not in t             #True
  7.         t[:2] + ("I",) + t[2:]        #('A', 'B', 'I', 'C', 'X', 'Y', 'Z')
  8.         a,b = t[:2]            # a,b -> ('A', 'B')
命名的元组
命名的元组与普通的元组一样,有相同的特征,其特殊的地方在于我们可以通过名称来访问数据项。
import collections
products = []
product = collections.namedtuple('product', 'name price size pic desc')
products.append(product('iphone', 1000, 128, 'xxx.pic', 'iphone'))
products.append(product('ipad', 1000, 128, 'xxx.pic', 'ipad'))
for product in products:
print("{name} {price} {size}".format(**product._asdict()))
>>> ipad 1000 128
iphone 1000 128
命名的元组还可以进行嵌套
article = collections.namedtuple('article', 'title type setting')
setting = collections.namedtuple('setting', 'hot top')
a = article('title', 1, setting(1,2))
a.setting.top
>>>2
阅读(727) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~