首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

六、Python的类型与运算-列表

一、列表简介

列表在Python里是有序集合对象类型,列表里的对象可以是任何对象:数字,字符串,列表或者之后会讲到的字典、元组等等。

与字符串不同,列表是可变对象,支持原处修改的操作。Python中的列表可以完成大多数集合体数据结构的工作,而这些在稍底层一些的语言中你不得不手工去实现。

Python的列表是:

• 任意对象的有序集合

• 通过偏移读取

• 可变长度、异构以及任意嵌套

• 属于可变序列的分类

• 对象引用数组

二、列表的操作

1、与字符串相同的操作

之前在字符串里的大部分操作都可以用在列表,比如 合并与重复:

List1 + List2 : 结果是两个列表按顺序结合。

List1 * 3 : 结果是列表1重复三次。

for i in List1: print i : 按顺序打印列表里的内容

3 in List : 判断列表里有没有一个对象是对象3

List1.index(1) : 查找列表里第一个为1的对象的位置

List1.count(1): 查找列表里对象为1的个数

List1[x:y]: 取第x到y的对象,重新建立一个列表

len(List1): List1里的对象个数

2、基本列表操作

创建一个列表:

对列表内容取值:

重复:

3、列表迭代和解析

使用in方法来判断:

循环打印列表内容:

迭代方式创建列表:

其中map()函数用来返回一个列表,abs则是之前提到了取绝对值

4、索引、分片与矩阵

这个方法和字符串里的方法相似:

矩阵方式:

5、原处修改

跟字符串不同,列表可以在原处修改:

添加元素与排序:

三、列表的方法

1、sort、sorted

python中列表的内置函数sort()可以对列表中的元素进行排序,而全局性的sorted()函数则对所有可迭代的序列都是适用的;并且sort()函数是内置函数,会改变当前对象,而sorted()函数只会返回一个排序后的当前对象的副本,而不会改变当前对象。

其中key用来指定排列规则,reverse用来表示是否倒序。

2、extend、pop、reverse

extend()函数用来扩展列表元素,当然列表也支持相加

pop()函数可以默认移除列表最后一个元素的效果,也可对指定位置进行移除

reverse()函数则使列表倒序

3、index、insert、del

index()函数用来返回元素位置

insert()函数用来对指定位置进行插入元素

sel则是删除指定位置元素

四、实际用法

1、取值

当一个列表里的内容是有固定含义时,比如:[‘姓名’, 年龄,[出生年,月,日]],像是这样:[‘Dora’,77,[1942,6,4]]

只保留列表里最后N个记录:

使用deque模块限定数组最大长度,并且有新元素添加的时候,数组整体将左移或右移。

2、查找最大,最小值

查找最大值最小值可以直接使用max与min,但是想要获取几个最大或者最小的数就需要用到nlargest与nsmallest了。

3、命名切片

之前切片都是使用nums[0:2]的方式,其实也可以使用slice函数来具体定义切片的名称,但是以下操作在python3中并没有实现,python2可以正常使用。

4、重复的元素计算

collections里的Counter模块可以计算列表里重复元素的个数:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190121B12REQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券