分享

Python学习之路3

 flyk0tcfb46p9f 2018-04-04

本系列是对入门书籍《Python编程:从入门到实战》的笔记整理,属于初级内容。标题顺序采用书中标题

1. 遍历列表

本章主要是for循环:

这里有两个值得注意的地方,一个是“冒号”:“for”关键字所在的行最后有一个冒号;一个是缩进问题,Python中的代码块都是以缩进为标准,不像C/C++,Java这样的语言以花括号表示代码块。IndentationError指缩进错误。

2. 创建数值列表

这有使用一个重要的生成数列的函数 range() ,以及将数据转换成列表的 list() 函数

range()函数也常用语for循环,用于标识循环次数,或者用于生成更复杂的列表:

对于生成列表,还有一种更简洁的写法,即列表解析式,如上述生成列表的代码可以缩短为一行:

列表解析式还可以更复杂,这里就不再赘述了。

对数字列表执行简单的统计计算:

求一个数字列表的最大、最小值以及所有元素之和:

3. 使用列表的一部分

3.1 切片

切片操作用于取原始列表的一部分:

切片操作的参数设置和range()函数的参数设置十分相似,起始,结束,步长都可以为负值,这里先总结一条规律:如果步长为正数,则起始位置要在结束位置的左边;若步长为负数,则起始位置要在结束位置的右边。

3.2 复制列表

这里有深浅复制的问题。如果直接将一个变量赋值到另一个变量,那么内存中的数据依然只有一份,而不是两份,这两个变量都指向内存中同一个存放数据的内存区域,如果用C/C++的语言来描述,Python中的变量都相当于指针,这两个变量(指针)指向的是同一片内存,对这两个变量(指针)的操作会相互影响,因为都作用于同一内存块,如下:

如果想在内存中将原来的数据复制出一份新的,则需要深复制,切片操作则是实现深复制的一种方法:

4. 元组(tuple)

和列表紧密联系的一个数据结构则是元组。列表非常适合用于存储在程序运行期间可能变化的数据集,列表可以被修改。然而有时你需要创建一系列不可修改的元素,这个时候则需要用到元组。

元组用圆括号来标识,以下是声明一个元组:

对元组中元素的访问以及对元组的遍历都和对列表的操作一样;不同的是,元组中的元素不能被改变。

虽然元组中的元素不能改变,但是元组变量的值可以改变。从C/C++的角度来看,元组变量是个指针,元组相当于一个const数组,数组虽然不能被改变,但指针可以指向别处。

相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,则可使用元组。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多