《python基础教程(第二版)》学习笔记 列表/元组(第2章)
序列中的下标从0开始
x='ABC' ==> x[0]='A', x[1]='B', x[2]='C'
负数索引从右边开始。最后一个元素下标是-1;x[-1]='C'
'ABC'[0]  ==>  'A'
raw_input("x:")[3] 输入数据当作字符串
列表分片:x[2:5], x[-3:-1], x[-3:], x[:3], x[:]  #列表名字[起始下标:结束下标]
列表分片+步长: x[0:10:2], x[8:3:-1], x[::2], x[5::-1]   #列表名字[起始下标:结束下标:步长]
序列相加:
[1,2]+[3,4] ==> [1, 2, 3, 4]
'ABC' + '123'  ==> 'ABC123'
序列乘法(重复):
'ABC'*2 ==> 'ABCABC'
[1,2,3]*2 ==>  [1, 2, 3, 1, 2, 3]
None 空值
[] 空序列
初始化序列:x=[None]*3  ==> x=[None, None, None]
成员资格:
'3' in ['1','2','3'] ==> True
'3' in '123' ==> True
元素个数:len([1,2,3]) ==> 3
最大值:max([1,2,3]) ==> 3
最小值:min([1,2,3]) ==> 1
把字符串转为列表:
list('ABC') ==> ['A', 'B', 'C']
连接元素:
x=list('ABC'); '-'.join(x)  ==>  'A-B-C'   #连接字符.join(列表)
赋值:
x=list('ABC'); x[1]='2'  ==>  x=['A', '2', 'C']
删除元素:
x=list('ABC'); del x[1] ==> ['A', 'C']
分片赋值:
x=list('ABC'); x[2:2]=list('23') ==> ['A', 'B', '2', '3', 'C'] # 插入新元素
x=list('ABC'); x[1:2]=[] ==> x=['A', 'C'] # 删除元素
列表方法:
x=[1,2]; x.append(3) ==> x=[1, 2, 3] #追加元素
x=[1, 2, 3]; x.count(3) ==> 1 #统计元素出现次数
x=[1, 2, 3]; y=[8,9]; x.extend(y) ==> x=[1, 2, 3, 8, 9] # 把一个序列的元素追加到另外一个序列的末尾
[1,2,3]+[4,5,6] ==> [1,2,3,4,5,6]
[1,2,3,4,5,6].index(4) ==> 3 # 查找一个元素的下标
x=[1,2,3];  x.insert(2,8) ==> x=[1, 2, 8, 3] #插入元素
x=[1,2,3];  x.pop() ==> 3, x=[1, 2] # 返回最后一个元素;并删除最后一个元素
x=[1,2,3];  x.pop(0) ==> 1, x=[2, 3] # 返回下标为0的元素,并删除该元素
x=[1,2,3];  x.remove(2) ==> x=[1, 3] #删除元素2
x=[1,2,3];  x.reverse() ==> x=[3, 2, 1] #倒置列表
x=[9,7,8];  x.sort() ==> x=[7, 8, 9] # 从小到大排序;注意:x.sort()没有返回值
x=[9,7,8];  y=sorted(x) ==> x=[9,7,8] y=[7, 8, 9]
高级排序:
x=[9,7,8]; x.sort(cmp) # 采用cmp函数排序
x=[9,7,8]; x.sort(key=len) # 根据元素的长度排序
x=[9,7,8]; x.sort(reverse=True) # 反向排序;从大到小

元组不能修改;元组中必须有逗号
1,2,3 #三个元素的元组
(1,2,3) #三个元素的元组
() #空元组
1, ==> (1,) #1个元素的元组
(1,)  #1个元素的元组
2*(1,) ==> (1, 1) # 元组乘法/重复
tuple([1,2,3]) ==> (1, 2, 3) # 把序列变为元组
tuple('abc') ==> ('a', 'b', 'c') # 把序列变为元组
tuple((1,2,3)) ==> (1, 2, 3)
元组的操作和列表类似,只是元组不能修改;

遍历列表的方法:

for item in thelist:
  doSoming(item)

for i in range(len(thelist)):
  doSoming(thelist[i])

《python基础教程(第二版)》学习笔记 列表/元组(第2章)的更多相关文章

  1. 第二章、元组和列表(python基础教程第二版 )

    最基本的数据结构是序列,序列中每个元素被分配一个序号-元素的位置,也称索引.第一个索引为0,最后一个元素索引为-1. python中包含6种内建的序列:元组.列表.字符串.unicode字符串.buf ...

  2. Jquery基础教程第二版学习记录

    本文仅为个人jquery基础的学习,简单的记录以备忘. 在线手册:http://www.php100.com/manual/jquery/第一章:jquery入门基础jquery知识:jquery能做 ...

  3. <<Python基础教程>>学习笔记 | 第10章 | 充电时刻

    第10章 | 充电时刻 本章主要介绍模块及其工作机制 ------ 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 一个简 ...

  4. <<Python基础教程>>学习笔记 | 第04章 | 字典

    第04章:字典 当索引不好用时 Python唯一的内建的映射类型,无序,但都存储在一个特定的键中.键能够使字符.数字.或者是元祖. ------ 字典使用: 表征游戏棋盘的状态,每一个键都是由坐标值组 ...

  5. <<Python基础教程>>学习笔记 | 第11章 | 文件和素材

    打开文件 open(name[mode[,buffing]) name: 是强制选项,模式和缓冲是可选的 #假设文件不在.会报以下错误: >>> f = open(r'D:\text ...

  6. <<Python基础教程>>学习笔记 | 第12章 | 图形用户界面

    Python支持的工具包非常多.但没有一个被觉得标准的工具包.用户选择的自由度大些.本章主要介绍最成熟的跨平台工具包wxPython.官方文档: http://wxpython.org/ ------ ...

  7. python基础教程第二版 第一章

    1.模块导入python以增强其功能的扩展:三种方式实现 (1). >>> Import math >>> math.floor(32.9) 32.0 #按照 模块 ...

  8. Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver

    1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...

  9. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥

    1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...

随机推荐

  1. 高盛CEO致大学毕业生:要与有野心的人为伍

    我认为讲的非常棒.年轻人就要这样. 高盛集团首席运行官(CEO)劳尔德-贝兰克梵(Lloyd Blankfein)周四在曼哈顿贾维茨中心參加了拉瓜迪亚社区大学的第41届毕业典礼并发表演讲.在面向约10 ...

  2. APICloud打包Vue单页应用

    APICloud新建项目后,会生成以下目录结构 其中index.html是入口文件,而vue-cli打包生成的文件是在dist目录下 ├─dist│ └─static│ ├─css│ └─js │ └ ...

  3. TCP粘包处理通用框架--C代码

    说明:该文紧接上篇博文“ linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现 ”讲来 (1)TCP粘包处理数据结构设计 #define MAX_MSG_LEN 65535 ty ...

  4. Window10 安装问题汇总

       7月28号之后,由于没有收到windows的升级提醒,所以下载了ISO文件手动进行了升级.      本文就升级过程中遇到的问题进行一下总结:    1.ISO文件名称:cn_windows_1 ...

  5. Swift_1_基本数据类型

    import Foundation println("Hello, World!"); var v1 = 1; var v2 = 2; println(" v1 is \ ...

  6. instagram架构分析_转

    转自:http://www.eit.name/blog/read.php?504 Instagram 团队上个月才迎来第 7 名员工,是的,7个人的团队.作为 iPhone 上最火爆的图片类工具,in ...

  7. laravel学习之路5缓存

    redis需要先安装 需要通过 Composer 安装 predis/predis 扩展包 (~1.0) 或者使用 PECL 安装 PhpRedis PHP 拓展. composer require ...

  8. 【文献阅读】Deep Residual Learning for Image Recognition--CVPR--2016

    最近准备用Resnet来解决问题,于是重读Resnet的paper <Deep Residual Learning for Image Recognition>, 这是何恺明在2016-C ...

  9. Unity Texture2D的sRGB(Color Texture)的作用

    在gramma空间下,勾选与否无关. 在liner空间下,勾选shader会自动将读到的像素作gramma矫正,即x的0.45次方 不勾选,shader读到的就是原始的颜色值 然后unity如果选了g ...

  10. Java常用代码工具类相关

    1.HttpServletRequest转换成Map public static Map<String,String> parseXML(HttpServletRequest reques ...