python基础教程第2章——列表与元组笔记

1、序列是Python中最基本的数据结构。序列中的每个元素被分配一个序列号——元素的位置,也称索引,第1个索引是0,第2为1,以此类推。序列中的最后1个元素为-1,倒数第2个位-2。

python中有6中内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。

2、通用序列操作:索引(indexing)、分片(sliceing)、加(adding)、乘(multiplying)、检查某个元素是否属于序列成员、计算序列长度、找出最大元素和最小元素的内建函数。

  •   两种相同类型的序列才能进行连接操作
  •   用数字x乘以1个序列会生成新的序列,而在新的序列中,原理的序列将被重复x次
  •   空列表可以简单的通过=[]实现,表示里面虾米东西也没有
  •   None代表空值,number=[None]*10,创建有10个元素的列表,但是值为空
  •   in 运算符检查一个对象是否为某个序列的成员 eg ‘p‘ in ‘python‘, 返回布尔值
  •   len函数返回序列所包含元素的数量
  •   min函数和max函数返回序列中最大和最小的元素

3、列表的基本操作:有序的标准操作;元素赋值、元素删除、分片赋值以及列表方法

eg. del names[3]

name = list(‘Perl‘),name[2:]=list(‘arr‘),[‘p‘, ‘y‘, ‘a‘, ‘r‘, ‘r‘]

list的方法

  1.     append方法用于在列表末尾追加新的对象
  2.     count方法统计某个元素在列表中出现的次数
  3.     extend方法在列表的末尾一次性追加另一个序列中的多个值,相当于a+b
  4.     index方法用于从列表中找出某个值第1个匹配项的索引位置
  5.     insert在某个位置插入某个值,Insert[index,X]
  6.   pop移除列表中的一个元素,默认最后1个元素,并返回该元素的值。pop可以实现常见的数据结构——栈
  7.   remove方法移除列表中某个值得第1个匹配项
  8.   reverse方法将列表中的元素发现存放
  9.   sort方法用于在原位置对列表排序,在原位置排序意味着改变原来的列表,从而让其中的元素按一定的顺序排列,而不是简单地返回一个已排序的列表副本
    •   eg x.sort 返回的是X元素排列好的x,比如x=[2,8,0] x.sort x=[0,2,8],不能y=x.sort()
    • 要想将排序后的副本赋值,使用y=x.sorted()
    • 如果想把一些元素按相反的顺序序列,可以先使用sort或sorted,然后再调用reverse方法
    • 高级排序 compare(x,y)函数会在x<y时返回负数,在x>y时返回正数,如果x=y则返回0
    •  高级参数cmp, key, reverse, 如x.sort(cmp), x.sort(key=len),x.sort(reverse=True),这些参数可以用于sorted。可为cmp和key提供了自定

4、元组(tuple): 不可变序列

  1.   可自动创建,比如1,2,3,或者使用圆括号(1,2,3);实现1个元组的方法是加逗号,eg. 42, 或者(42,), 4*(23+3,)生成(26, 26, 26, 26)
  2.   tuple函数将序列、字符串、元组等生成元组,如tuple([1,2,4])
  3.   元组的意义:有2种情况元组是不可替代的
    • 元组可以在映射(和集合的成员)中档做键使用——而列表不行
    • 元组可以作为很多内建函数和方法的返回值存在

  

      

    

    

    

    

时间: 2024-12-24 17:51:25

python基础教程第2章——列表与元组笔记的相关文章

Python基础教程(第二章 列表和元组)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5293195.html______ Created on Xu Hoo 本章将引入一个新的概念:数据结构.数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在Python中,最基本的数据结构是序列(sequence),序列中的每个元素被分配一个序号——即

Python基础教程 第2章: 列表和元组 学习笔记

序列是一种数据结构, 它包含的元素都进行了编号(从0开始).典型的序列包括列表.字符串和元组.其中,列表是可变的,而元组和字符串是不可变的. 个人感觉列表跟C语言中的数组很相似,但也有不用之处,比如在数组中元素的类型都是一样的,而在列表中元素的类型可以混合. 索引(下标): 与C语言中的数组一样,列表支持下标访问,通过下标来访问列表中的元素. #序列赋值 x = [1, 2, 3, "hello", 'abc'] print x #下标访问 print x[0] print x[3]

《Python基础教程(第二版)》学习笔记 -&gt; 第九章 魔法方法、属性和迭代器

准备工作 >>> class NewStyle(object): more_code_here >>> class OldStyle: more_code_here 在这两个类中,NewStyle是新式的类,OldStyle是旧式的类,如果文件以__metaclass__ = type 开始,那么两个类都是新式类. 构造方法 构造方法,当一个对象被创建后,会立即调用构造方法.Python中创建一个构造方法,只要把init方法的名字从简单的init修改成__init__

《python基础教程(第二版)》学习笔记 字符串(第3章)

<python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:%左侧是格式字符串,右侧是需要格式化的值print '%s=%d' % ('x',100) ==> x=100%% 格式字符串中出现 %模板字符串:from string import Templates=Template('$x is 100');  s.substitute(x='ABC');  ==> '

《python基础教程(第二版)》学习笔记 字典(第4章)

<python基础教程(第二版)>学习笔记 字典(第4章)创建字典:d={'key1':'value1','key2':'value2'}lst=[('key1','value1'),('key2','value2')]; d=dict(lst)d=dict(key1='value1', key2='value2')字典基本操作:d={'key1':'value1','key2':'value2'}; len(d) ==> 2 #字典中的键值对数量d={'key1':'value1','

《python基础教程(第二版)》学习笔记 基础部分(第1章)

<python基础教程(第二版)>学习笔记基础部分(第1章)IDEWindows: IDLE(gui), Eclipse+PyDev; Python(command line);Linux/Unix: python >>> 1/2=0 注意整除得0>>> from __future__ import division 执行普通的除法python -Qnew 执行普通的除法 //整除,  1//2=0:%取余数:**乘幂长整型数: 末尾带L十六进制,以0x开头

《Python基础教程(第二版)》学习笔记 -&gt; 第十章 充电时刻 之 标准库

SYS sys这个模块让你能够访问与Python解释器联系紧密的变量和函数,下面是一些sys模块中重要的函数和变量: 函数和变量 描述 argv 命令行参数,包括脚本和名称 exit([arg])                退出当前的程序,可选参数为给定的返回值或者错误信息 modules 映射模块名字到载入模块的字典 path 查找模块所在目录的目录名列表 platform 平台标识符 stdin 标准输入流-- 一个类文件对象 stdout 标准输出流-- 一个类文件对象 stderr

《Python基础教程 第2版 修订版》学习笔记(一)

<Python基础教程 第2版 修订版>学习笔记(一) 第一章:快速改造:基础知识 1.1 安装Python (略) How to Become a Hacker: http://www.catb.org/~esr/faqs/hacker-howto.html 中文版:如何成为一名黑客 http://blog.jobbole.com/64196/ (伯乐在线版,个人认为目前比较完善的版本) 1.2 交互解释器 >>> 1.3 算法是什么 目标:煮一盘午餐肉加鸡蛋的食物 过程:

Python基础教程(第九章 魔法方法、属性和迭代器)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5437223.html______ Created on Marlowes 在Python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别.前面几章中已经出现过一些这样的名称(如__future__),这种拼写表示名字有特殊含义,所以绝不要在自己的程序中使用这样的名字.在Python中,由这些名字组成的集合所包含的方法称