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. USACO刷题之路

    重拾经典 本科生涯结束了,在大学做的ACM竞赛现在基本忘的差不多了.USACO作为一个经典的题库,本来是面向OI选手的,但是由于题目质量很高所以受到大家的好评,所以我这次就从它开始我的刷题之路吧. 由 ...

  2. Gradle依赖项学习总结,dependencies、transitive、force、exclude的使用与依赖冲突解决

    http://www.paincker.com/gradle-dependencies https://docs.gradle.org/current/userguide/dependency_man ...

  3. 导出WAS已部署的ear包的几种方法

    可以通过下面几种办法将部署好的工程导出为一个ear包. 1.最简单的,通过was的控制台导出: 首先登录控制台,进入"企业应用程序"管理页面,选中要导出的工程,点击"导出 ...

  4. 程序ajax请求公共组件app-jquery-http.js中url参数部分的项目应用

    结合微信登录以及微信支付的案例:= =||| (案例比较奇葩复杂) 简述项目流程: 1.获取用于公众号支付的openid(公众平台):在微信内置浏览器中打开网页链接,刚进入页面就通过微信公众平台获取该 ...

  5. opencv图像特征检测之斑点检测

    前面说过,图像特征点检测包括角点和斑点,今天来说说斑点,斑点是指二维图像中和周围颜色有颜色差异和灰度差异的区域,因为斑点代表的是一个区域,所以其相对于单纯的角点,具有更好的稳定性和更好的抗干扰能力. ...

  6. ZOJ 3923 Handshakes

    水题. 算一下每个人和之前的人握手次数+之后的人和这个人握手次数.取最大值. #include<cstdio> #include<cstring> #include<cm ...

  7. Seajs是什么及其优缺点&如何使用?

    这篇文章主要介绍了Seajs的相关知识和和学习心得,适合刚接触SeaJS的同学,需要的朋友可以参考下,有更好的新手教程或文档,欢迎推荐.分享! 1.Seajs简介   Seajs,一个Web模块加载框 ...

  8. iOS开发——打电话

    1.调用 自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://55522555 ...

  9. 《算法导论》插入排序----InsertSort

    算法导论,插入排序 public class InsertSort { public static double [] sort(double [] num) { for(int i =1; i< ...

  10. [cocos2d-x] --- CCNode类详解

    Email : awodefeng@163.com 1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景.层.菜单.精灵等的父类.而我们在使用cocos2d-x时,接触最多的就是场 ...