最基本的数据结构是序列,序列中每个元素被分配一个序号-元素的位置,也称索引。第一个索引为0,最后一个元素索引为-1。

python中包含6种内建的序列:元组、列表、字符串、unicode字符串、buffer对象和xrange对象。元组与列表的区别:列表可以对其元素进行修改,元组不能改动其元素。

序列的通常操作:索引、分片、加、乘、成员资格(in)、迭代。python中关于序列的内建函数:计算序列长度、找出最大元素和最小元素。

1、索引

  1. >>> greeting = 'hello'
  2. >>> greeting[0]
  3. 'h'
  4. >>> greeting[-1]
  5. 'o'
  6. >>> 'hello'[0]
  7. 'h'

2、分片

  1. >>> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
  2. >>> numbers[3:6]
  3. [4, 5, 6]
  4. >>> numbers[-3:]
  5. [8, 9, 0]
  6. >>> numbers[:3]
  7. [1, 2, 3]
  8. >>> numbers[:]
  9. [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
  10. >>> numbers[0:10:2]
  11. [1, 3, 5, 7, 9]
  12. >>> numbers[::4]
  13. [1, 5, 9]
  14. >>> numbers[8:3:-1]
  15. [9, 8, 7, 6, 5]

3、序列相加

  1. #相同类型的序列才能进行连接操作

4、乘法

  1. #初始化一个长度为10的列表
  2. >>> sequence = [None]*10
  3. >>> sequence
  4. [None, None, None, None, None, None, None, None, None, None]

5、成员资格

  1. >>> permission = 'sdnk'
  2. >>> 'dn' in permission
  3. True

6、长度、最小值及最大值

  1. #len、min、max

列表的内建函数:

7、列表的元素修改-del、split

  1. >>> names = ['Alice','Bob','Vera','Amy','Beth','','']
  2. >>> names[1] = 'venus'
  3. >>> names
  4. ['Alice', 'venus', 'Vera', 'Amy', 'Beth', '', '']
  5. >>> del names[1]
  6. >>> names
  7. ['Alice', 'Vera', 'Amy', 'Beth', '', '']
  8. >>> names = list('perl')
  9. >>> names
  10. ['p', 'e', 'r', 'l']
  11. >>> names[2] = 'xliu vera'
  12. >>> names
  13. ['p', 'e', 'xliu vera', 'l']
  14. >>> names[2] = ('l','e')
  15. >>> names
  16. ['p', 'e', ('l', 'e'), 'l']
  17. >>> number = [1,3,5]
  18. >>> number[1:1] = [6,8,7]
  19. >>> number
  20. [1, 6, 8, 7, 3, 5]
  21. >>> number[1:4] = []
  22. >>> number
  23. [1, 3, 5]

列表方法:方法与对象联系紧密,对象可以是列表,数字,字符串或者其他类型。格式:对象.方法(参数)

8、列表-append、count、extend、index、insert、pop

  1. >>> lst = [1,2,3]
  2. >>> lst.append(4)
  3. >>> lst
  4. [1, 2, 3, 4]
  5. >>> lst.count(2)
    >>> lst1 = [6,7,8]
  6. >>> lst.extend(lst1)
  7. >>> lst
  8. [1, 2, 3, 4, 6, 7, 8]
  9. >>> lst.index(3)
  10. 2
  11. >>> lst.insert(3,'Bob') #格式:操作对象.insert(位置,插入内容)
  12. >>> lst
  13. [1, 2, 3, 'Bob', 4, 6, 7, 8]
  14. >>> lst.pop() #默认的情况下,删除列表的最后一个元素并返回值
  15. 8
  16. >>> lst
  17. [1, 2, 3, 'Bob', 4, 6, 7]
  18. >>> lst.pop(0) #移除索引为0的元素并返回其值
  19. 1
  20. >>> lst
  21. [2, 3, 'Bob', 4, 6, 7]
    >>> lst.remove('Bob')
    >>> lst
    [2, 3, 4, 6, 7]
    >>> lst.reverse()
    >>> lst
    [7, 6, 4, 3, 2]

9、列表-sort

  1. >>> x = [1,3,5,12,9,11,0,4]
  2. >>> y = x[:] #调用x[:]得到的是每个元素的分片,有效的复制了列表x
  3. >>> y.sort()
  4. >>> x
  5. [1, 3, 5, 12, 9, 11, 0, 4]
  6. >>> y
  7. [0, 1, 3, 4, 5, 9, 11, 12]
  8.  
  9. >>> y = x #x,y同指一个列表,任意改变其中之一另一个也会改变
  10. >>> y.sort()
  11. >>> x
  12. [0, 1, 3, 4, 5, 9, 11, 12]
  13. >>> y
  14. [0, 1, 3, 4, 5, 9, 11, 12]
  15.  
  16. #获取一个已经排序好的副本
  17. >>> x = [1,4,3,6,2,7,3]
  18. >>> y = sorted(x)
  19. >>> x
  20. [1, 4, 3, 6, 2, 7, 3]
  21. >>> y
  22. [1, 2, 3, 3, 4, 6, 7]
  23.  
  24. #以上都是按照默认的排序方式
  25.  
  26. >>> x = ['hi','we','are','family','']
  27. >>> x.sort(key = len) #按照字符的长度排序
  28. >>> x
  29. ['', 'hi', 'we', 'are', 'family']
  30. >>> x.sort(reverse = True) #反向排序
  31. >>> x
  32. ['we', 'hi', 'family', 'are', '']

10、元组:基本的元组操作除了创建元组及访问元组外没有其他的操作

  1. >>> 1,2,3
  2. (1, 2, 3)
  3. >>> () #创建空元组
  4. ()
  5. >>> 42, #创建只有一个元素的元祖
  6. (42,)
  7. >>> (42,)
  8. (42,)
  9. >>> tuple([1,2,3]) #tuple 将序列转化为元组,功能与list相近
  10. (1, 2, 3)
  1.  
 

第二章、元组和列表(python基础教程第二版 )的更多相关文章

  1. python基础教程-第二章-列表和元组

    本章将引入一个新的概念,:数据结构.数据结构是通过某种方式(例如对元素进行编号)组织在 一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在python中,最基本的数据结构 ...

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

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

  3. Python基础教程学习笔记:第一章 基础知识

    Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入“p ...

  4. Python基础教程总结(一)

    引言: 一直都听说Python很强大,以前只是浏览了一些博客,发现有点像数学建模时使用的Matlab,就没有深入去了解了.如今Python使用的地方越来越多,最近又在学习机器学习方面的知识,因此想系统 ...

  5. 《python基础教程(第二版)》学习笔记 列表/元组(第2章)

    <python基础教程(第二版)>学习笔记 列表/元组(第2章)序列中的下标从0开始x='ABC' ==> x[0]='A', x[1]='B', x[2]='C'负数索引从右边开始 ...

  6. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  7. 《python基础教程(第二版)》学习笔记 文件和素材(第11章)

    <python基础教程(第二版)>学习笔记 文件和素材(第11章) 打开文件:open(filename[,mode[,buffering]]) mode是读写文件的模式f=open(r' ...

  8. 《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)

    <python基础教程(第二版)>学习笔记 语句/循环/条件(第5章) print 'AB', 123 ==> AB 123 # 插入了一个空格print 'AB', 'CD' == ...

  9. 《python基础教程(第二版)》学习笔记 类和对象(第7章)

    <python基础教程(第二版)>学习笔记 类和对象(第7章) 定义类class Person:    def setName(self,name):        self.name=n ...

随机推荐

  1. wemall app商城源码Android之支付宝接口公用函数

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之  ...

  2. 4063: [Cerc2012]Darts

    4063: [Cerc2012]Darts Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 85  Solved: 53[Submit][Status] ...

  3. Ionic android 底部tabs

    ionic android tabs 默认显示在上部,如果要跟苹果一起统一在底部,那么可以在app.js添加配置 .config(function($ionicConfigProvider) { $i ...

  4. RecyclerView 设置item间隔的方法

    RecyclerView大家常用,但是如何给加载出来的item增加间隔很多人都不知道,下面是方法,直接上代码了: LinearLayoutManager layoutManager = new Lin ...

  5. Android自学反思总结(上)

    从接触Android到现在有几个月的时间了,基本全部都是靠自学,从大一上学期学习完c语言,接着利用寒假时间和开学一个月左右的时间自学完javase,接着在导员的督促下,开始了Android学习之旅,现 ...

  6. python+robot framework接口自动化测试

    python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...

  7. XJOI1652Matrix67的情书

    Matrix67的情书 恺撒大帝曾经使用过这样一种加密术:对于明文中的每个字母,恺撒大帝会用它后面的第t个字母代替.例如,当t=3时,字母A将变成C,字母B将变成D,--,字母Y将变成A,字母Z将变成 ...

  8. 老李分享:大数据框架Hadoop和Spark的异同 1

    老李分享:大数据框架Hadoop和Spark的异同   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...

  9. 关于WdatePicker.js的结束时间大于开始时间

    简单笔记 : WdatePicker.js 要使结束时间大于开始时间只要在线束时间的 minDate:'#F{$dp.$D(\'stimeParam\')}' 即可:不多说 详细代码如下: <t ...

  10. 上传图片转为base64格式预览并压缩图片(不兼容IE9以下浏览器,兼容移动端ios,android)

    前些天公司要求在微信移动端做上传图片并预览的功能,要求能够调用摄像头拍照并立即预览. 在网上搜了一些方法,开始自己写了个简单的功能实现代码.结果发现移动端拍照出来的图片动不动就2M+,又因为要批量上传 ...