Python学习(六)------- 序列类型

1. 元组tuple

元组只提供两种方法:t.count(x),返回对象x在元组中出现的次数;t.index(x),返回对象x在元组中出现的最左边的位置。

此外元组也可以使用+(连接)、*(复制)、[ ](分片)、in/not in(成员关系测试)等操作符,还可以使用+=和*=运算,这时候实际上不是对原有的元组进行改变,而是创建了新的元组进行赋值。

元组还可以使用比较操作符进行比较(<、<=、==、!=、>=、>),这种比较实际上是逐项进行的,如果有嵌套项,要递归处理。


2. 命名的元组

collections模块提供了namedtuple()函数,该函数用于创建自定义的元组类型,注意这个函数创建的是元组类型,而不是实际的元组对象。

namedtuple()的第一个参数是想要创建的元组类型的名称,第二个参数是一个字符串,其中包含使用空格分隔的名称,每个名称代表这个元组中的一项。这样的名称就像是属性名,可以使用点操作符“.”来进行访问。这个函数返回的是一个类。例如:

>>> import collections
>>> Sale = collections.namedtuple("Sale", "Productid customerid date quantity price")
>>> sales = []
>>> sales.append(Sale(432, 921, "2008-09-14", 3, 7.99))
>>> sales.append(Sale(419, 874, "2008-09-15", 1, 18.49))

>>> sales[0].date
'2008-09-14'


3. 列表list

列表是可变的。同元组一样可以使用比较操作符进行比较。

列表的元组等的可迭代数据类型都可以使用拆分操作符进行拆分,即*。

列表可以使用del操作符删除项,实际的操作是解除对象引用到对象的绑定,并删除对象引用。

使用list.append()方法可以把新的数据项添加到列表的末尾。使用list.insert()方法可以把新的数据项添加到列表的任意的索引位置:list[2:2] = "pint"等价于list.insert(2, "pint")。

新一个列表赋值给原列表的分片,可以用新的列表来替换原列表的分片。

用list.pop()方法可以删除列表的最后一项,如果里面带有参数,则删除参数位置处的列表项。

用list.remove()方法可以删除指定数据项,其参数是一个数据项,这个数据项必须是列表中有的,否则会产生异常。

另外还可以用del来删除某个数据项。

列表还可以使用list.reverse()和list.sort()进行反转和排序。

列表内涵

列表内涵是一个表达式,也是一个循环,该循环有一个可选的、包括在方括号中条件,作用是为列表生成数据项,并且可以使用条件过滤掉不需要的数据项。列表内涵最简单的形式如下:

[item for item in iteralbe]

上面的语句将返回一个列表,其中包含iteralbe的每个数据项,在语义上与list(iteralbe)是一致的。

下面是两个常见的列表内涵语法格式:

[expression for item in iteralbe]

[expression for item in iteralbe if condition]


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值