# 第二章:列表和元组
 
序列中,每个元素都有个一个序号,序号以0开始,最后一个元素序号为-1,倒数第二个-2
序列类型包括,列表,元组,字符串,unicode字符串,buffer, xrange
列表可以修改,元组不可以修改,元组可以作为字典的key,列表不可以
 
列表中的元素可以是各种类型,各元素通过逗号分隔,写在方括号中
>>> edward=["edward", 42]
>>> print edward
['edward', 42]
>>>
>>> print edward[0]
edward
>>> print edward[1]
42
>>> print edward[2]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> print edward[-1]
42
>>> print edward[-2]
edward
>>> print edward[-3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
 
使用索引访问序列中的一个元素
 
使用分片访问一定范围内的元素,通过冒号分隔的两个索引来获取分片[begin,end],内容包含begin到end之间的元素,不包含end所在位置的元素,
如果end大于最大的索引号,则返回包含最末尾的元素为止
如果end小于begin,返回空分片
如果end缺失,则返回begin之后剩余所有的元素,包含begin位置
如果begin缺失,则返回end之前的所有的元素
如果begin,end都缺失,返回所有元素
 
>>> numbers=[1,2,3,4,5,6,7,8,9,10]
>>> numbers[3:6]
[4, 5, 6]
>>>
>>> numbers[7:12]
[8, 9, 10]
>>> numbers[7:4]
[]
>>> numbers[7:]
[8, 9, 10]
>>> numbers[:3]
[1, 2, 3]
 
>>> numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>
 
分片的步长[being:end:step],step表示遍历元素使用的步长,即每隔step个元素,step默认为1,
>>> numbers[0:10:2]
[1, 3, 5, 7, 9]
step不可以为0,可以为负,表示从右到左提取元素
>>> numbers[8:3:-1]
[9, 8, 7, 6, 5]
>>>
 
序列相加:使用加号,相同类型的序列才可以相加
>>> c=[1,2,3]
>>> d=["a", "b", "c"]
>>> c+d
[1, 2, 3, 'a', 'b', 'c']
>>> e="helloworld"
>>> c+e
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "str") to list
>>>
 
 
序列乘法:数字x可以序列,表示原来的序列重复x次
>>> "python"*3
'pythonpythonpython'
>>>
 
None:表示空值,但是占有一个元素的位置
>>> []
[]
>>> [None]
[None]
>>>
 
查找:in
>>> 1 in numbers
True
>>> 122 in numbers
False
>>>
 
长度:最小最大值
>>> len(numbers)
10
>>> max(numbers)
10
>>> min(numbers)
1
>>>
 
list:将字符串转为序列
>>> list("helloworld")
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd’]
 
 
修改一元素
>>> l[4:]=list("cn")
>>> l
['h', 'E', 'l', 'l', 'c', 'n']
>>>
 
删除元素:del
>>> del l[1]
>>> l
['h', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
>>>
 
修改多个元素
>>> l[4:]=list("cn")
>>> l
['h', 'l', 'l', 'o', 'c', 'n']
>>>
 
插入元素
>>> l
['h', 'l', 'l', 'o', 'c', 'n']
>>> l[1:1]="e"
>>> l
['h', 'e', 'l', 'l', 'o', 'c', 'n']
>>>
>>> l[5:5]=", world"
>>> l
['h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', 'c', 'n']
>>>
 
删除多个元素
>>> l[-2:]=[]
>>> l
['h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd']
>>>
 
>>> del l[-5:]
>>> l
['h', 'e', 'l', 'l', 'o', ',', ' ']
>>>
 
 
列表的常用方法
 
apend:追加新元素
>>> lst
[1, 2, 3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
 
 
count:统计元素出现的次数
>>> lst.count(3)
1
>>>
 
extend:追加一个列表
>>> lst
[1, 2, 3, 4]
>>> a
[5, 6, 7]
>>> lst.extend(a)
>>> lst
[1, 2, 3, 4, 5, 6, 7]
 
index:查找第一个次出现的位置
>>> lst.index(3)
2
 
insert:插入元素
pop:移除一个元素(默认是最后一个),并且返回该元素的值
>>> lst.pop()
7
 
remove:移除第一个匹配元素,改变列表,无返回值
>>> lst.remove(2)
>>> lst
[1, 3, 4, 5, 6]
>>>
 
reverse:反转列表,改变列表,无返回值
>>> lst.reverse()
>>> lst
[6, 5, 4, 3, 1]
>>>
 
sort:排序,改变列表,无返回值
>>> lst.sort()
>>> lst
[1, 3, 4, 5, 6]
>>>
sort(key=cmp,reverse=False)的参数:key比较函数,reverse反向排序
 
 
—————————————————————
## 元组:不可改变的序列
以逗号分隔的包含在圆括号内的值,称为元组,圆括号可以省略
>>> a=1,2,3,4,
>>> a
(1, 2, 3, 4)
>>>
 
包含一个元素的元组,需要在元素后添加逗号
>>> a=1,
>>> a
(1,)
>>> a=(1,)
>>> a
(1,)
 
>>> 3*(40+2,)
(42, 42, 42)
>>>
 
tuple:将列转为元组
>>> l
[1, 2, 3, 4]
>>> tuple(l)
(1, 2, 3, 4)
>>>
 

【python学习笔记】2.列表和元组的更多相关文章

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

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

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

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

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

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

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

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

  5. Python学习笔记只列表和元组

    一.成员资格 1.检查某个字符是否在某个字符串中:'a' in 'absent' 2.获取数组的长度.最大.最小值: numbers=[100,54,345] len(numbers) //长度 ma ...

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

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

  7. python学习笔记02--列表和元组

    一.简介 数据结构是通过某种方式组织在一起的数据元素的集合. 序列是python中最基本的数据结构,python中包含6种内建的序列,分别是列表.元组.字符串.Unicode字符串.buffer对象和 ...

  8. python学习笔记(一)元组tuple

    元组由简单的对象组构成,元组与列表相似,但是元组不能在原处修改.元组位置有序的对象集合,元组通过偏移来访问. 为什么有了列表还要元组?元组的不变性提供了某种完整性,可以确保元组在程序中不被另一个引用修 ...

  9. Python学习笔记(六)—元组的操作

    元祖也是一个列表,它和list的区别是元祖里面的元素无法修改: 如果元祖里面只有一个元素的话,那么你必须在这个元素后边加上逗号,这样才是元祖的类型:否则类型会显示其他类型 元组的定义: 元祖中的方法: ...

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

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

随机推荐

  1. 对于文件File类型中的目录分隔符

    当我们在使用File f=new File(path); 对于这个path来说是一个很痛苦的事情,在不同的系统上面的分隔符号是不一样的 在windows下面的话是一个"\"而在un ...

  2. javascript正则表达式的一些笔记

    正则表达式:Regular Expression.使用单个字符串来描述,匹配一系列符合某个句法规则的字符串.即按照某种规则去匹配符合条件的字符串.正则表达式就是规则. \b 单词边界 regexp对象 ...

  3. Codeforces785E - Anton and Permutation

    Portal Description 对一个长度为\(n(n\leq2\times10^5)\)的数列\(a\)进行\(m(m\leq5\times10^4)\)次操作,数列初始时为\(\{1,2,. ...

  4. 通讯服务类API调用的代码示例合集:短信服务、手机号归属地查询、电信基站查询等

    以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 短信服务:通知类和验证码短信,全国三网合一通道,5秒内到达,费用低 ...

  5. bonding实现网卡负载均衡与高可用

    bondingLinux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余.他是解决同一个IP下突破网卡的流量限制的工具,网卡网线对吞吐量是有 ...

  6. 嵌入式Linux引导过程之1.6——Xloader的Xloader_Entry

    我们已经看完了XLOADER_ENTRY里调用的前两个标号的代码,分别是sys_init和ddr_init.对于一个嵌入式系统来说,这两 个部分的代码是在一开始就执行的,至少是在从bootrom里面的 ...

  7. Flex中获取RadioButtonGroup中的RadioButton的值

    Flex中获取RadioButtonGroup中的RadioButton的值 1.设计源码 <?xml version="1.0" encoding="utf-8& ...

  8. freemarker写select组件报错总结(一)

    1.具体错误如下 六月 25, 2014 11:26:29 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template pr ...

  9. RTP、RTCP、RTSP 概念

    用一句简单的话总结:RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制.同步. 之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码 ...

  10. .net core 环境安装失败,错误:0x80072EE2

    安装[DotNetCore.1.0.1-VS2015Tools.Preview2.0.3.exe]失败,提示这个界面 查看log发现,发现猫腻,然后copy下链接,用迅雷手动下载[AspNetCore ...