Python中的list详解

Stella981
• 阅读 816

Python中内置的一种数据类型list,列表。list是一个有序集合,所谓有序集合就是可以通过Key或者Index进行访问(无序集合,集合的元素只能遍历,比如set)。list能随时随地进行增加和删除。python中list用[ ]进行表示。例如:
```
friends = ['fanbinbin','libinbin','xijinping']
len(friends)
```
可以通过len(list),获取到list的长度。(len(str)得到字符串的个数,len(dict)获取到key-value的组数)
list可以通过数组下标index进行访问,例如:
```
>>>friends[0]
'fanbinbin'
>>>friends[-1]
'xijinping'
>>>friends[-2]
'libinbin'
```
下标为-1的时候,将得到最后一个数组。还可以friend

list的主要操作有。
```
L.append(var)  #增加一个元素var
L.pop() #默认是L.pop(-1),会删除最后一个元素。当然也可以指定删除L.pop(Index)
L.insert(Indext, var) #在指定位置,增加指定元素
L.remove(var)  #删除第一次出现在的该元素。L=[1,2,2,3]   L.remove(2)  L = [1,2,3]
L.sort()  #对L进行排序,有asckii码从小到大排序。或者也可以自定义cmp函数
L.sort()  #对L进行倒序 ,按照index索引进行倒序(从最后一个开始到第一个进行排序)
L.extend(var)  #和另一个var进行合并,var可以为list,也可以是字符串。但是是字符串的应该用append。
L.count(var)  #统计var出现在list中的数据。
```
当然List是可以嵌套的。
```
 L = [1,2,3,4,[5,6,7],8] #此时其实是个二维数组
len(L) = 6
L[4][1] = 6
```
python中list还有个非常重要的功能切片操作。

L[a:b:c]

c为省略是,会默认是1。是step,步进数
c为正数时,会从左往右进行切割,a,b若是省略,分别代表第一个,和最后一个。若a的index >b的index,返回空,很好理解,a跑到b的右边去了,从左往右找不到。
c为负数指,会从右往左进行切割,a,b若是省略,分别代表最后一个,和第一个。若a的index <  b的index
返回空,同样理解,a都跑到b的左边去了,从右往左肯定找不到。

a = [1,2,3,4,5,6]
a[0] =1
a[1:2]=2
最后一个数是 -1
a[-1] = 6       返回的是整形数
a[-2 : -1] = [5] (返回的是一个list)
a[ : 2] = [1,2] 前两个数
a[-2 : ] = [5,6] 后两个数
a[ : -2]=[1,2,3,4] 表示从第0个开始,一直到倒数第二个数为止
a[-2 : 1] = []
a[-2 : 2] = []
a[:2:-1] = [6,5,4]

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Irene181 Irene181
3年前
简述Python中常见的数据结构
「数仓宝贝库」,带你学数据!导读:Python中常见的数据结构有列表(list)、元组(tuple)、集合(set)、字典(dict)等,这些数据结构表示了自身在Python中的存在形式,在Python中可以输入type(对象)查看数据类型。1列表(1)创建列表列表是Python内置的一种数据类型,它是一种有序的数据集合,是用于存储一连串
Wesley13 Wesley13
3年前
java8新特性
Stream将List转换为Map,使用Collectors.toMap方法进行转换背景:User类,类中分别有id,name,age三个属性。List集合,userList,存储User对象1、指定keyvalue,value是对象中的某个属性值。 Map<Integer,StringuserMap1userList.str
Stella981 Stella981
3年前
List的Select 和Select().tolist()
List<PersondelpnewList<Person{newPerson{Id1,Name"小明1",Age11,Sign0},newPerson{Id2,Name"小明2",Age12,
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这