Python列表基本操作

列表对象属于序数对象,是一群有序对象的集合,并且可以使用数字来做索引。列表对象可以做新增、修改和删除的操作。

1.* 列表对象的特性

列表由一系列按特定顺序排列的元素组成。在Python中,用方括号[]来表示列表,用逗号来分割其中的元素。Python不仅输出列表的内容,还包括方括号。

列表的常见特性如下:

1、列表对象中的元素可以是不同的类型。

2、列表对象中的元素可以是另一个列表。

3、访问列表中对象的方法比较简单,列表中的序号是从0开始的。

4、列表是可以嵌套的,如果要读取列表对象中嵌套的另一个列表,可使用另一个中括号[]来做索引。

5、in运算符用于判断一个元素是否存在于列表中。

查看代码

1.* 列表的常见操作

列表创建完成后,还可以对其进行相关的操作。

1.*.& 获取某个元素的返回值

使用列表对象的index(c)方法(c是元素的内容)来返回该元素的索引值。语法:list.index(c)

1.*.& 改变列表对象的元素值

列表中的元素值是可以改变的。语法:list[1] = "改变元素内容"

1.*.& 在列表中插入新元素

在列表的第4个位置插入两个新元素。语法:list[3:]

1.*.& 删除列表中的元素

使用del语句可以删除列表对象中的元素。例如,删除列表中的第3个元素的语法:del list[3]

如果想从列表中删除最后一个元素,可以使用序号-1。

如果想一次清除所有的元素,可以使用del语句操作,语法:del d[:]

1.*.& 列表的操作符

列表的常用操作符包括+*。其中,列表对+*的操作与字符串相似。+号用于组合列表,*号用于重复列表。

+号操作符经常用于字符串和列表元素的组合。

*号运算符经常用于重复列表中的元素。

如何才能创建一个占有10个元素空间而又不包括任何内容的列表呢?

空列表可以简单地通过中括号来表示[],如果想创建占有10个元素空间而又不包括内容的列表,可以使用*号来实现,如[] * 10,这样就生成了一个包含10个空元素的列表。然而,有时候可能需要一个值来代表空值,表示没有放置任何元素,可以使用None。None是Python的内建值。

查看代码

1.* 内置的函数和方法

列表对象有许多的内置函数和方法,下面学习这些函数和方法的使用技巧。

1.*.& 列表的函数

列表内置的函数包括len()、max()、min()和list()。

1、len()函数返回列表的长度。

2、max()函数返回列表元素中的最大值。列表中的元素数据类型必须一致才能使用max()函数,否则会出错。

3、min()函数返回列表元素中的最小值。

1.*.& 列表的方法

在Python解释器内输入dir([]),就可以显示这些内置的列表方法。

运行结果:

点击查看代码
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

下面将挑选常用的方法进行介绍:

1.append(object):append()方法在列表对象的结尾,加上新对象object。

2.clear():clear()函数用于清空列表,类似于del a[:]。例如:

3.copy():copy()函数用于复制列表。

4.count(value):count(value)方法针对列表对象中的相同元素值value计算其数目。

5.extend(list):extend(list)方法将参数list列表对象中的元素加到此列表中,成为此列表的新元素。例如:

6.index(value):index(value)方法将列表对象中元素值为value的索引值返回。例如:

7.insert(index, object):insert(index, object)方法将在列表对象中索引值为index的元素之前插入新元素object。例如:

8.pop([index]):pop([index])方法将列表对象中索引值为index的元素删除。如果没有指定index的值,就将最后一个元素删除。

9.remove(value):remove(value)方法将列表对象中元素值为value的删除。

10.reverse():reverse()方法将列表对象中的元素颠倒排列。

11.sort():sort()方法将列表对象中的元素依照从小到大顺序排列。

查看代码

1.* 递推式构造列表

从Python 2.0开始,可以使用递推式构造列表(list comprehension)的功能。所谓递推式构造列表,是使用列表内的元素创建新的列表。

递推式构造列表的语法如下所示:

点击查看代码
[expression for expressionl in sequencel
    [for expression2 in sequence2]
    [... for expressionN in sequenceN]
    [if condition]]

sequence代表序数对象,如字符串、元组、列表等。在列表包容的结果中,新列表的元素数目是所有序数对象的元素数目相乘的结果。

下面的示例将字符串对象aa与列表对象laa做列表包容,创建一个新的列表对象:

查看代码

a字符串对象有两个元素,b列表对象有4个元素,列表包容产生的新列表有8个元素。

毕达哥拉斯三元数组是数形结合的一个典型例子。毕达哥拉斯学派研究出了一个公式:若m是奇数,则m、(m^2-1)/2(m^2+1)/2便是三元数组,分别表示一个直角三角形的两条直角边和斜边。

下面的递推式构造列表创建了毕达哥拉斯三元组:

点击查看代码
# 毕达哥拉斯三元组
d = [(x, y, z) for x in range(1, 30) for y in range(x, 30) for z in range(y, 30) if x ** 2 + y ** 2 == z ** 2]
print(d)

运行结果如下:

点击查看代码
[(3, 4, 5), (5, 12, 13), (6, 8, 10), (7, 24, 25), (8, 15, 17), (9, 12, 15), (10, 24, 26), (12, 16, 20), (15, 20, 25), (20, 21, 29)]

原文地址:http://www.cnblogs.com/hzhiping/p/16884183.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性