列表是最通用的Python复合数据类型,列表中包含以逗号分隔,并在方括号([])包含的项目。

在一定程度上,列表相似C语言中的数组,它们之间的一个区别是,所有属于一个列表中的项目可以是不同的数据类型的。

存储在一个列表中的值可以使用切片(分片)操作符来访问([]和[:])用索引从0开始,使用负数索引时,Python会从右边开始计数(-1指的是序列最右边的元素)。

加号(+)符号列表连接运算符,星号(*)重复操作。

list = ['abcd', 123, 2.23, 'Ethon']
tinylist = [123,'wakey']
print list
print list[0]
print list[1:3]
print list[2:]
print tinylist * 2
print list + tinylist

产生已下结果:

分片:与使用索引来访问单个元素类似,可以使用分片操作来完成一定范围内的元素,分片通过冒号相隔的两个索引来实现。第一个索引的元素是包含在分片内的,而第二个则不包含(这是Python的惯例)。

>>> numbers = [1,2,3,4,5,6,7,8,9]
>>> numbers[3:6]
[4, 5, 6]
>>> numbers[0:8:2] #步长为2,每隔一个元素
[1, 3, 5, 7]
>>> numbers[8:3:-1] #步长为-1,即从右到左提取元素
[9, 8, 7, 6, 5]
-1表示切片要倒着切,且是一个字符一个字符地切.
8表示从左边0开始计数的8位置上的数,9
3表示从左边0开始计数的3位置上的数,4,但不包括它,所以是只截到5
>>> numbers[6:-1] #从最6个数到倒数第1个数 [7, 8] >>> numbers[:] #索引为空,复制整个序列 [1, 2, 3, 4, 5, 6, 7, 8, 9]

成员资格:为了检查一个元素是否在序列中,可以使用 in 运算符

>>> name = 'Ethon'
>>> 'E' in name
True
>>> 'A' in name
False

长度、最小值、最大值

>>> numbers = [100,25,37]
>>> len(numbers)
3
>>> min(numbers)
25
>>> max(numbers)
100

列表操作

1、改变列表,元素赋值

>>> x = [1,1,1]
>>> x[0]=2
>>> x
[2, 1, 1]

2、删除元素

>>> names= ['Ethon','joho','wakey']
>>> del names[1]
>>> names
['Ethon', 'wakey']

3、分片赋值

>>> name = list('Ethon')
>>> name
['E', 't', 'h', 'o', 'n']
>>> name[2:]
['h', 'o', 'n']
>>> name[2:] = list('abc')
>>> name
['E', 't', 'a', 'b', 'c']

列表方法:方法是一个与某些对象有紧密联系的的函数,对象可能是列表,数字,也可能是字符串或其他类型的对象。

方法可以这样进行调用:  对象.方法(参数)

1、append  在列表末尾添加新的对象

>>> lst = [1,2,3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]

2、count   统计某个元素出现的次数

>>> name = ['Ethon','wakey','wakey','joho']
>>> name.count('wakey')
2

3、extend  在列表的末尾一次性追加另一个序列中的值

>>> a = [1,2,3]; b = [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]

4、index  在列表中找个某个值第一个匹配项的索引位置

>>> name = ['Ethon','wakey','joho','Misi']
>>> name.index('joho')
2

5、insert  将对像插入到列表中

>>> numbers = [1,2,3,4,5]
>>> numbers.insert(3,'Ethon')
>>> numbers
[1, 2, 3, 'Ethon', 4, 5]

6、pop  移除列表中的一个元素(默认是第后一个元素)

pop方法是唯一一个既能修改列表,又能返回元素值的列表方法

>>> x = [1,2,3,4]
>>> x.pop()
4
>>> x
[1, 2, 3]

7、remove  移除列表中某个值的第一个匹配项

>>> name = ['joho','wakey','Ethon','misi','wakey']
>>> name.remove('wakey')
>>> name
['joho', 'Ethon', 'misi', 'wakey']

8、reverse   将列表中的元素反向存放

>>> x = [1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]

9、sort  在原位置对列表进行排序(改变原来的列表)

>>> x = [3,1,6,5,4]
>>> x.sort()
>>> x
[1, 3, 4, 5, 6]

当用户需要一个排序后的列表副本,又不想改变原来的列表时,可以用以下方法:

>>> x = [3,1,6,5,4]
>>> y = x[:]
>>> y.sort() #将x的副本赋值给y,然后对y进行排序
>>> x
[3, 1, 6, 5, 4]
>>> y
[1, 3, 4, 5, 6]

或使用 sorted 函数

>>> x = [3,1,6,5,4]
>>> y=sorted(x)
>>> x
[3, 1, 6, 5, 4]
>>> y
[1, 3, 4, 5, 6]

python学习笔记4(列表)的更多相关文章

  1. python学习笔记整理——列表

    Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...

  2. python学习笔记-列表和字典

    由于最近在看深度学习的代码,看到需要建立字典和列表来存储什么东西的时候,就想要去把字典和列表好好的了解清楚,其应用范围,差别,等等东西 首先我们来介绍,在python中存在如下的数据结构:列表list ...

  3. python学习笔记(列表、元组、购物车实例)

    一.列表 列表和字典是最常用的两种数据类型 1. 需求:怎么存放班级80多人的姓名,如何实现? names = ["Zhangyang","Guyun",&qu ...

  4. Python学习笔记4—列表

    列表定义 >>> a=['] >>> type(a) <type 'list'> >>> bool(a) #列表有值,则为true T ...

  5. python学习笔记之列表与元组

    一.概述 python包含6种内建的序列,其中列表和元组是最常用的两种类型.列表和元组的主要区别在于,列表可以修改,元组则不能修改 使用上,如果要根据要求来添加元素,应当使用列表:而由于要求序列不可修 ...

  6. Python学习笔记(1)-列表

    列表是什么? 列表由一系列按特定顺序排列的元素组成.列表看起来像这样:[1,2,3,4,1].在列表中,可以由零个或多个元素组成,元素之间用逗号分开,具有相同值元素允许出现多次 使用[ ]或list( ...

  7. Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码

    一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...

  8. Python学习笔记4—列表List

    列表定义 Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. >>> a=['] >>> type(a) &l ...

  9. python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表和元组的操作 列表是我们以后最长用的数据类型之一,通过列表可以最方便的对数据实现最方便的存储.修改等操作 定 ...

  10. python学习笔记(三)-列表&字典

    列表: 一.列表操作"""Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.比如,列出班里所有同学的名字,就可以用一 ...

随机推荐

  1. 如何在Java中定义常量(Constant)

    原本引自  http://blog.csdn.net/autofei/article/details/6419460 /** * Method One */ interface ConstantInt ...

  2. 【基础数学知识】UVa 11314 - Hardly Hard

    Problem H HARDLY HARD You have been given the task of cutting out a quadrilateral slice of cake out ...

  3. hdu 4606 简单计算几何+floyd+最小路径覆盖

    思路:将所有的直线的两个端点和城市混在一起,将能直接到达的两个点连线,求一次floyd最短路径.二分枚举bag容量,然后按给的要先后占领的城市由前向后,把能到一步到达的建一条边.然后求一次最小路径覆盖 ...

  4. Android开发需要注意的坑

    Android开发需要注意的坑一览​对于一些Android开发过程中坑爹.细小,但又重要的错误的总结​Android开发在路上:少去踩坑,多走捷径其他参考: ​google官方版本发布图 ​umeng ...

  5. select选项框特效

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. 纯CSS制作“跳动的心”demo

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  7. Hibernate+DWR无刷新三级联动

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在 ...

  8. asp.net发布webservice出现‘Could not write to output file ‘解决办法

    Could not write to output file 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET File ...

  9. 用命令行将Java程序打包为jar文件

    如何把写好的Java程序打包为jar文件呢?有两种方式可以选择 1.命令行的方式: 打包jar cf JAR文件名称 程序文件名称或者程序所在的文件夹举例:jar cf MyApp.jar D:Jav ...

  10. 类的访问修饰符_C#

    访问控制修饰符: 访问控制修饰符 类内部 子类 程序集内 程序集外 Default √ Public √ √ √ √ Private √ Internal √ √ √ Protected √ √ Pr ...