《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. mac权限

    mac文件后面出现@权限 去除方法: xattr -c 文件名  目录也可以

  2. 查看Tomcat状态页,管理app,主机管理

    Server Status 通过点击这个按钮我们可以查看Tomcat的状态,点击,弹出403错误页面 通过查看官方文档 因此,创建manager.xml # cat /usr/local/tomcat ...

  3. JavaScript事件使用指南

    事件流 事件流描述的是从页面中接收事件的顺序,IE和Netscape提出来差不多完全相反的事件流的概念,IE事件流是事件冒泡流,Netscape事件流是事件捕获流. 事件冒泡 IE的事件流叫做事件冒泡 ...

  4. 【问题记录】mysql设置任意ip访问

    # 给username用户授予可以用任意IP带密码password访问数据库 GRANT ALL PRIVILEGES ON *.* TO 'username'@'%'IDENTIFIED BY 'p ...

  5. linux使用rsync+inotify-tools+ssh实现文件实时同步

    假设某服务器架构中有两台web服务器(IP为192.168.1.252和192.168.1.254),一台代码更新发布服务器(IP为192.168.1.251),需要同步的目录是/data/www/, ...

  6. _DataStructure_C_Impl:图的最小生成树

    #include<stdio.h> #include<stdlib.h> #include<string.h> typedef char VertexType[4] ...

  7. 图解堆算法、链表、栈与队列(Mark)

    原文地址: 图解堆算法.链表.栈与队列(多图预警) 堆(heap),是一类特殊的数据结构的统称.它通常被看作一棵树的数组对象.在队列中,调度程序反复提取队列中的第一个作业并运行,因为实际情况中某些时间 ...

  8. java servlet中上传文件的简单实现(基于第三方jar)

    这里的案例使用了两种文件上传的组件.分别介绍 1.使用JSPSmartUpload完成上传 package test_servlet_package; import java.io.File; imp ...

  9. swift 使用运行时进行属性关联

    1.用OC思想写swift代码真得很爽,swift需要的OC基本上都有,只不过略微改变了一下,例如以前的Foundation库前缀NS全部去掉了,等等...思想其实都一样,不过swift确实非常精简, ...

  10. images have the “stationarity” property, which implies that features that are useful in one region are also likely to be useful for other regions.

    Convolutional networks may include local or global pooling layers[clarification needed], which combi ...