Python内置类型——list
list(列表)是Python内置的可变序列(Sequence)类型,list的对象的方法也都是就地(in-place)更改调用这些方法的列表对象,
List的一些细节
- 可以直接为list的某个下标赋值,改变list中指定下标位置的值,例如: l[2] = 'hello world' ;
- list切片可以作为赋值语句的左值,此时赋值语句的右值必须是一个可迭代的对象:如果切片是extended模式(一端不封口,如 l[1:] ),那么赋值语句的左右值必须等长;如果切片不是extended模式,那么右值的可迭代对象可以是任意长度
- 将[]作为右值将直接将左值对应的切片置空;
- 将一个空的切片作为左值意味着将右值的可迭代对象插入到左值指定的位置,例如:
l[5:5] = ['a', 'b']
等效于将['a', 'b']插入到下标5之前。
- 使用覆盖整个列表的切片 l[:] 作为左值将会整个替换列表l的值。
- 列表上定义的 + 和 * 运算都是就地的,所以可以对list对象使用augmented assignment语句直接改变目标列表的值:
x = []
x += x1
等效于将可迭代对象x1的内容追加到x的结尾;
而:
x = []
x *= n
则等效于将n-1份x的拷贝追加到x的结尾。
List的内置方法
non-mutating方法
这些方法并不会改变调用他们的列表对象,
l.count(x)
统计l中x出现的次数;
l.index(x)
返回x在l中首次出现的下标,如果l中没有x,则抛出ValueError
mutating方法
下面的方法将直接改变调用他们的列表对象,
l.append(x)
将x追加到l的末尾;
l.extends(s)
将可迭代对象s中的所有item追加到l的队尾;
l.insert(i, x)
将x插入到l中下标i的位置;
l.remove(x)
从l中删除x第一次出现,如果l中没有x,抛出ValueError
l.pop([index])
将l中下标为index的值返回并从列表中删除,省略index的话,直接返回列表末尾的值;
如果l为空或者指定的index越界,抛出IndexError
l.reverse()
就地反转列表l
l.sort(cmp=cmp, key=None, reverse=False)
就地对列表l进行排序,对于l中的每一个item,使用cmp()函数对他们进行比较,从而判断他们之间的大小关系。不使用任何参数调用将使用Python默认的排序函数cmp()对列表中的item进行比较。
使用List实现Stack和Queue
Python内置类型——list的更多相关文章
- Python内置类型性能分析
Python内置类型性能分析 timeit模块 timeit模块可以用来测试一小段Python代码的执行速度. class timeit.Timer(stmt='pass', setup='pass' ...
- Python 内置类型 dict, list,线程安全吗
近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tupl ...
- 为什么继承 Python 内置类型会出问题?!
本文出自"Python为什么"系列,请查看全部文章 不久前,Python猫 给大家推荐了一本书<流畅的Python>(点击可跳转阅读),那篇文章有比较多的"溢 ...
- Python——内置类型
Python定义了丰富的数据类型,包括: 数值型:int, float, complex 序列:(iterable) str, unicode, tuple, list, bytearray, buf ...
- 易被忽略的Python内置类型
Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们. 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些"不同寻常&quo ...
- Python内置类型——set
Python中,内置类型set和frozenset用来表示集合,我们首先查看这两个类型支持的特殊对象,从而可以理解他们的特性. >>> dir(set) ['__and__', '_ ...
- 3、python内置类型(0529)
python的内置对象类型以及支持的运算 python对象的相关术语 python程序中保存的所有数据都是围绕对象这个概念展开的 程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 ...
- python内置类型详细解释
文章编写借鉴于内置类型 - Python 3.7.3 文档,主要用于自己学习和记录 python主要内置类型包括数字.序列.映射.类.实例和异常 有些多项集类是可变的.它们用于添加.移除或重排其成员的 ...
- Python内置类型(4)--数值
Python有以下三种的数值类型: 整型(integers), 浮点型(floating point numbers), 以及 复数(complex numbers).此外,布尔是整数的子类型. 数值 ...
随机推荐
- 洛谷.2234.[HNOI2002]营业额统计(Splay)
题目链接 //模板吧 #include<cstdio> #include<cctype> #include<algorithm> using namespace s ...
- 使用pickle模块存储对象
import time import hashlib import pickle import os class Info(): def __init__(self): self.create_tim ...
- 使用time模块,转化时间格式
import time ''' 时间戳:表示1970年开始计算的偏移量.我们运用type(时间戳)是float类型 结构化时间:9个元素组成的数组 格式化时间字符串 ''' '''获取当前时间戳''' ...
- Struts2返回json数据xml中配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-/ ...
- LOJ6041 SAM+set+树状数组
首先对于原串建$SAM$,我们可以发先在一个点$i$的$right$集合里的点的相似度就是$len[i]$,于是可以将$SAM$的$right$集合通过$set$来启发式合并,每次加入新的点对$(i, ...
- 喵哈哈村的魔法考试 Round #19 (Div.2) 题解
题解: 喵哈哈村的魔力源泉(1) 题解:签到题. 代码: #include<bits/stdc++.h> using namespace std; int main(){ long lon ...
- ELASTIC 动态修改配置API
工作中使用ELASTIC,我们常有需要修改的配置项,但有时又不想重启elastic,这时候就需要elasticsearch内置的修改集群配置API上场了. 这个API非常的简单. curl -XPUT ...
- 大文件拆分方案的java实践(附源码)
引子 大文件拆分问题涉及到io处理.并发编程.生产者/消费者模式的理解,是一个很好的综合应用场景,为此,花点时间做一些实践,对相关的知识做一次梳理和集成,总结一些共性的处理方案和思路,以供后续工作中借 ...
- SharePoint Online 自定义Modern UI表单
前言 用过SharePoint Online 版本的朋友们,应该很熟悉SharePoint为我们带来的Modern UI,而这个页面的订制,也跟原来的表单定制方式不同了,而且更加简单了. 而且,试了一 ...
- 树莓派(RespberryPi)安装手记
购买了两台树莓派,显示器接口是HDMI的,所以需要HDMI高清线连接到显示器,再加上SD卡做硬盘以及无线USB-WIFI,就可以玩一玩树莓派这个小东西了.以下是安装手记. 首先是制作“启动光盘”,其实 ...