Timo学习笔记 :Python基础教程(第三版)第二章 列表和元组

Timo学习笔记 :Python基础教程(第三版)第二章 列表和元组

Python基础教程(第三版)学习笔记 第一章 快速上手:基础知识



前言

本人公卫博士在读三年级(直博需要读五年),平时也要用到一些数据分析;虽然用不到很专业的编程,但是感觉python很有意思,于是记录一下自己的学习笔记吧。
第二章开始


Apprends la sagesse dans la sottise des autres. C’est moi ; )

一、序列概述Sequence

  1. Python支持一种名为容器(container)的数据结构,意思是可包含其他对象的对象。Python大致有三种容器:序列(如列表list和元组tuple)、映射(如字典)和集合set。
  2. 列表和元组的关键不同在于,列表可以被修改,而元组不行。所以元组可用作字典键,此时不能用列表代替元组,因为字典键不允许被修改。
  3. 序列是最基本的数据结构。序列中的每个元素都有编号,即位置/索引。第一个元素的索引是0,第二个元素的索引是1,依次递增;如用负数表示索引,则最后一个元素的索引为-1,Python将从右往左开始数。

Python est difficile, mais je lui aime。

二、通用的序列操作

索引(indexing):访问单个元素。

直接对字符串进行索引(如’str’[1] )==先将字符串赋给变量再对变量执行索引(如>>>m = ‘str’ >>>m[1])。
如果函数调用返回一个序列,可直接对其索引。如>>>m = input(‘name:’)[1] name:Timo >>> m ‘i’。

切片(slicing):访问特定范围内的元素。

Sequence [index1, index2],如>>>m=[1, 2, 3, 4, 5, 6, 7, 8, 9],m[1:3],[2, 3]。Index1指示你想要片段的开头第一个元素的索引,index2指示切断后剩下的你不要的片段的开头第一个元素的索引。
如index2先于index1,则为空序列。如切片结束于序列末端,可省略index2;同理,如切片开始于序列顶端,可省略index1。如要复制整个序列,则同时忽略index1&2。
步长:①’str’[index1, index2, step],如>>>m=[1, 2, 3, 4, 5, 6, 7, 8, 9],m[1:6:2],[2, 4, 6]。②在切片时,默认步长为1,即我们提取所需元素是从一个元素移动到下一个。如步长为n,则在原序列提取元素时中间跳过了(n-1)个元素。③步长不能为0,否则无法移动;但可以为负,即从右往左提取。

序列相加

sequence1 + sequence2。不同类型的序列不能相加拼接。

乘法

使用运算符*。>>>Sequence * n。重复该序列n次以创建一个新序列。
None表示什么也没有;[ ]表示空序列;可通过>>>sequence = [None] *n 将列表长度初始化为n。

成员资格

使用运算符in。>>> ‘w’ in ‘timo’检查是否满足指定条件并返回相应的值;满足时返回true,不满足时返回false。这种运算符称“布尔运算符”,真值称“布尔值”。
内置函数len(),max()和min()。

三、列表:python的主力

基本的列表操作

① 给元素赋值:>>> name[index]=n,利用列表索引直接修改列表。
② 删除元素:>>>del name[index];或通过替换为[]空序列。
③ 给切片赋值:>>>name[index1:index2]=list(‘str’);当index1=index2时,我替换了一个空切片,相当于插入了一个序列。

列表方法

方法(method)即与对象(object)紧密联系的函数。通常以object.method(arguments)调用。
若该方法就地修改列表,即不返回新列表而直接修改旧列表。object.method()仅是一种操作,不是一个object不是列表;所以若直接使用object.method()赋值,python将提示None,什么都没有(因为不返回新列表)。
① append将一个对象附加到列表末尾。
② clear就地清空列表内容。
③ copy复制。如果只是把b=a,a和b都将指向同一列表,当对二者任一作出修改时,另一个也将被改变。所以要让a和b指向不同的列表,需要用b= a.copy(),使b与a的副本关联。
④ count计算指定元素在列表中出现的次数。
⑤ extend将多个对象同时附加到列表末尾。extend不同于拼接(使用运算符+);extend就地修改原列表,而拼接不修改旧列表而返回新列表。
⑥ index查找指定值在列表中首次出现的索引。
⑦ insert将一个对象插入到列表。>>>name.insert[index, ‘str’]
⑧ pop从列表中删除一个元素,并返回这个元素。>>>name.pop(index),不指定index时,默认为末尾最后一个元素。Caution:pop是唯一即修改列表又返回一个非None值的列表方法。

四、元组:不可修改的序列

列表用[ ]括起元素,列表可被修改;而元组用( )且每个元素(即使只有一个元素)后面一定要有逗号,元组不允许改动。


总结

Concepts:序列sequence、成员资格in、方法lst.method(argument)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值