python提供了一个被称为列表的数据类型,他可以存储一个有序的元素集合。

记住:一个列表可以存储任意大小的数据集合。列表是可变对象,有别于字符串str类,str类是不可变对象。

1.创建一个列表

list1 = list() #创建一个空列表
list2 = list([2,3,4]) #创建列表,包含元素2,3,4
list3 = list(["red","green"]) #创建字符串列表
list4 = list(range(3,6))
list5 = list("abcd")

我们用图说话:

2.list的常用操作

python中的字符串和列表都是序列类型。一个字符串是一个字符串序列,而一个列表是任何元素的序列。
序列(列表)s的常用操作
操作 描述
x  in  s 如果元素x在序列s中则返回true
x  not  in  s 如果元素x不在序列s中则返回true
s1  +  s2 连接两个序列s1和s2
s*n,   n*s n个序列s的连接
s[ i ] 序列s的第 i 个元素
s[ i, j ] 序列s从下标 i 到 j-1 的片段  (列表截取)
len(s) 序列s的长度,即s中的元素个数
min(s) 序列s的最小元素
max(s) 序列s的最大元素
sum(s) 序列s中所有元素之和
for loop 在for循环中从左到右反转元素
<,<=,>,>=,=,!= 比较两个序列,若真则返回true
random.shuffle(s) 随意排列序列s中的元素

有图看的更清楚点:

3.下标运算符 []

有列表mylist,则mylist[ index ] 中index为列表的下标,一般下标的范围是0到len(mylist)-1.   mylist[ index ]又称为下标变量。
mylist[0], mylist[1] ……分别访问列表第0个元素,第一个元素……
index还可以为负数:mylist[-1], mylist[-2]……分别访问列表倒数第一个元素,倒数第二个元素……(为负数时index最大为-1)
 

4.列表截取[start:end]

mylst[start:end] 截取范围是start到end-1,构成一个列表。
>>>mylst= [0,1,2,3,4,5]
>>>mylst[2,4]
[2, 3]
若start和end省略,则start默认为0,end默认为列表最后一个下标
start和end也可以为负数,若负数为-n则换成是-n+len(mylist)即可
>>>mylist[:3]
[0, 1, 2]
>>>mylist[2:]
[2, 3, 4, 5]
>>>mylist[:]
[0, 1, 2, 3, 4, 5]
>>>mylist[-4:-2]
[2, 3]
若start>end,则mylist返回一个空列表
>>>mylist[3:2] 
[]
 

5.列表解析

列表解析由多个方括号组成,方括号内包含后跟一个for子句的表达式,之后是0或多个for或if子句。例如:

>>>list1 = [x for x in range(5)]
>>>list1
[0, 1, 2, 3, 4]
>>>list2 = [0.5*x for x in list1]
>>>list2
[0.0, 0.5, 1.0, 1.5, 2.0]
>>>list3 = [x for x in list2 if x < 1.5]
>>>list3
[0.0, 0.5, 1.0]

6.列表方法

常用的list方法
append(x: object) :None 将元素添加到列表结尾
count(x: object): int 返回元素x在列表中出现的次数
extend(lst: list): None 将列表 l 中的所有元素追加到列表中
index(x: object): int 返回x在列表中第一次出现的下标
insert(index: int, x:object):None 将元素x插入列表中指定下标处
pop(i): object 删除给定位置的元素并返回它。参数 i 可选,若没有指定,则删除并返回列表中的最后一个元素
remove(x: object):
None
删除列表中第一次出现的x
reverse(): None 将列表中的所有元素倒序(不是排序)
sort(): None 将列表中的元素升序排序(注意:是排序)
以上代码如下:
>>> list1 = [2, 3, 4, 1, 32, 4]
>>> list1.append(19)
>>> list1
[2, 3, 4, 1, 32, 4, 19]
>>> list1.count(4)
2
>>> list2 = [99, 54]
>>> list2.extend(list1)
>>> list2
[99, 54, 2, 3, 4, 1, 32, 4, 19]
>>> list2.index(4)
4
>>> list2.insert(1, 25)
>>> list2
[99, 25, 54, 2, 3, 4, 1, 32, 4, 19]
>>> list2.pop() #删除最后一个位置的元素
19
>>> list2
[99, 25, 54, 2, 3, 4, 1, 32, 4]
>>> list2.pop(2) #删除指定位置的元素,这里删除下标为2的元素
54
>>> list2
[99, 25, 2, 3, 4, 1, 32, 4]
>>> list2.remove(4)
>>> list2
[99, 25, 2, 3, 1, 32, 4]
>>> list2.reverse() #将原序列倒过来
>>> list2
[4, 32, 1, 3, 2, 25, 99]
>>> list2.sort() #将原序列升序排序
>>> list2
[1, 2, 3, 4, 25, 32, 99]

【python基础】之list列表的更多相关文章

  1. 『Python基础-8』列表

    『Python基础-8』列表 1. 列表的基本概念 列表让你能够在一个地方存储成组的信息,其中可以只包含几个 元素,也可以包含数百万个元素. 列表由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  2. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  3. Python基础学习Day4 列表的使用方法、range 用法、in用法

    一.列表 1.1列表:python基础数据类型之一:其他语言也有列表的概念,js 数组,可索引 ,可切片,可加步长 1.2列表的索引,切片,切片+ 步长 结果: 注意:列表里元素的数据类型,就是它本身 ...

  4. python基础之02列表/元组/字典/set集合

    python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...

  5. 2015/9/1 Python基础(6):列表

    列表和字符串类型很相似,是同样的序列式数据类型.但是字符串只能由字符组成,列表可以保留任意数目的Python对象的灵活的容器.Python的列表比C的数组要灵活,数组里面只能是一种类型,列表可以有多种 ...

  6. Python基础数据类型之列表和元组

    一.列表   list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...

  7. python基础数据类型--list列表

    列表: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex ...

  8. Python基础-元组、列表、字典

    元组tuple 元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组.例:(1,2,3)("a","b","c&q ...

  9. python 基础篇 04(列表 元组 常规操作)

    本节主要内容:1. 列表2. 列表的增删改查3. 列表的嵌套4. 元组和元组嵌套5. range 一. 列表1.1 列表的介绍列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. ...

  10. python基础学习笔记——列表及元组

    列表 列表的介绍  列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. 列表的索引和切片 列表和字符串一样也拥有索引: lst = ['刘德华','周润发','周杰伦','向华强 ...

随机推荐

  1. bzoj1061 志愿者招募

    bzoj1061 志愿者招募 Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难 题:为即将启动的奥运新项目招募一批短期志愿者.经 ...

  2. Nexus搭建私服 学习

    为什么要搭建nexus私服 因为有些公司不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以,有必要再局域网里找一台有外网权限的机器.搭建nexus私服,然后开发人员连接到这台私服 ...

  3. FreeRTOS初步认识

    源:FreeRTOS初步认识 用了半天时间对FreeRTOS有了一个初步的认识,大概总结一下,其中混杂了系统实现和实际应用方面的问题. 现只是以应用为目的,实现方面待以后进一步研究. 1.FreeRT ...

  4. mustache.js使用基本(二)sections

    作者:zccst 本文记录基本使用二,主要讲sections. {{#person}} {{/person}} 1,当person是null, undefined, false, 0, NaN, &q ...

  5. HTML5 - Canvas动画样例(谷歌弹跳球)

    1,样例说明 (1)在没有鼠标介入的情况下,这些球就像有磁性一样拼成"Google"字样. (2)在鼠标移动到其中后,小球像是受到了排斥,向画布的四周扩散,然后不规则地反弹回来. ...

  6. ucos调度器详解

    这一片谈谈关于ucos调度器的相关知识. ucos的调度器的实现主要靠一个函数OS_Sched 该函数将调度器的行为分为了两个部分,第一是调度部分,第二是任务切换部分,如下 void  OS_Sche ...

  7. ELF文件格式分析--结构篇

    ELF文件格式,全称为Excutable and Linking Format,是一个开放的可执行文件和链接文件格式,在LINUX上很流行,跨平台软件的设计也多以ELF格式作为标准,其结构扩展性兼容性 ...

  8. iOS调用另一个程序

    在 iOS 里,程序之间都是相互隔离,目前并没有一个有效的方式来做程序间通信,幸好 iOS 程序可以很方便的注册自己的 URL Scheme,这样就可以通过打开特定 URL 的方式来传递参数给另外一个 ...

  9. iOS 改变导航栏高度

    需求: appdelegate里 rootviewcontroller 是tabbarcontroller,tabbarcontroller里有4个navigationcontroller,改变每个n ...

  10. Unity3D ——强大的跨平台3D游戏开发工具(五)

    第九章 图形用户界面类G.U.I 您在玩很多3D游戏的时候,不知是否注意到在游戏界面中,总有一些图形和文字信息是不随着3D视角的改变而改变的.这也是由于游戏本身的要求而决定的.比如说英雄的生命值,聊天 ...