3.操作列表--《Python编程:从入门到实践》
3.1 遍历列表
magicians = ['alice', 'david', 'carolina']
for magician in magicians: # 临时变量 magician
print(magician)
for 循环过程:定义了一个 for 循环,让 Python 从列表 magicians 中取出一个名字,并将其存储在变量 magician 中。最后,我们让 Python 打印前面存储到变量 magician 中的名字。
注意:for 循环用于接收列表的临时变量的作用域并不是 for 循环内部,而是超出 for 循环的作用域,这点从 for 循环结束后依然能使用 magician 可以看出。
因此要注意 for 循环的临时变量的名称尽量不要与外部成员名称重复,否则很有可能污染外部环境。
cars = ['bmw', 'audi', 'toyota', 'subaru']
car_len = len(cars)
for car in cars:
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
# 即使 magician 定义在两个for循环的最内层,作用域在外侧也可以接收到。
print("I can't wait to see your next trick, " + magician.title() + ".\n")
3.2 创建数值列表
3.2.1 使用函数 range() 创建一组数
for value in range(1,5,2): # 从1开始数,每次+2,直至大于等于5
print(value) # 1 3
3.2.2 使用 range() 创建数字列表
(1)使用 List() 将 range() 的输出变为一个数字列表。
numbers = list(range(1,6))
print(numbers) # [1, 2, 3, 4, 5]
(2)使用 append 与 for 循环。
# 创建一个列表,包含10个整数(即1~10)的平方
squares = []
for value in range(1, 11):
squares.append(value ** 2)
print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.3 使用列表的一部分 -- 切片
3.3.1 切片
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python
在到达你指定的第二个索引前面的元素后停止。我觉得这里理解成前闭后开原则较好,前闭指的是起始索引对应的元素是包括的,而结束索引对应的元素不包括。
players = ['charles', 'martina', 'michael', 'florence', 'eli'] # 提取第3和4个元素,即切片的索引是2~4
print(players[2:4]) # [''michael', 'florence']
如果你没有指定第一个索引,Python将自动从列表开头开始。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[:4]) # ['charles', 'martina', 'michael', 'florence']
要让切片终止于列表末尾,也可使用类似的语法。例如,如果要提取从第3个元素到列表末
尾的所有元素,可将起始索引指定为2,并省略终止索引:
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[2:]) # ['michael', 'florence', 'eli']
我们也可以使用负数。例如,如果你要输出名单上的最后三名队员,可使用切片players[-3:]:
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[-3:]) # ['michael', 'florence', 'eli']
3.3.2 遍历切片
如果要遍历列表的部分元素,可在for循环中使用切片。在下面的示例中,我们遍历前三名
队员,并打印他们的名字。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print("Here are the first three players on my team:")
for player in players[:3]:
print(player.title())
# Here are the first three players on my team:
# Charles
# Martina
# Michael
3.2.3 复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。
千万不能简单的=赋值,而不适用切片,否则会造成类似浅拷贝的问题。
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:] # !!!通过切片复制列表
friend2_foods = my_foods # 不使用切片复制列表()相当于浅拷贝,修改目标列表也会修改源列表
friend_foods.append('ice-cream')
friend2_foods.append('cannoli')
print(my_foods) # ['pizza', 'falafel', 'carrot cake', 'cannoli']
print(friend_foods) # ['pizza', 'falafel', 'carrot cake', 'ice-cream']
print(friend2_foods) # ['pizza', 'falafel', 'carrot cake', 'cannoli']
3.4 元组
元组是一系列不可修改的元素,这与列表的可修改元素是对应的。
dimensions = (200, 50)
print(dimensions[0])
for dimension in dimensions:
print(dimension)
3.4.1 修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。即重新定义整个元组。
dimensions = (200, 50)
for dimension in dimensions:
print(dimension) # 200 50
dimensions = (400, 100) # 重新定义元组 dimensions
for dimension in dimensions:
print(dimension) # 400 100
3.操作列表--《Python编程:从入门到实践》的更多相关文章
- Python编程从入门到实践笔记——操作列表
Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...
- Python编程从入门到实践笔记——列表简介
Python编程从入门到实践笔记——列表简介 #coding=utf-8 #列表——我的理解等于C语言和Java中的数组 bicycles = ["trek","cann ...
- Python编程从入门到实践笔记——用户输入和while循环
Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...
- #Python编程从入门到实践#第四章笔记
#Python编程从入门到实践#第四章笔记 操作列表 1.遍历列表 使用for循环,遍历values列表 for value in values: print(value) 2.数字列表 使 ...
- Python编程从入门到实践
Python编程从入门到实践1 起步2 变量和简单数据类型3 列表简介4 操作列表5 if语句6 字典7 用户输入和while循环8 函数9 类10 文件和异常11 测试代码12 武装飞船13 外星人 ...
- 《python编程从入门到实践》读书实践笔记(一)
本文是<python编程从入门到实践>读书实践笔记1~10章的内容,主要包含安装.基础类型.函数.类.文件读写及异常的内容. 1 起步 1.1 搭建环境 1.1.1 Python 版本选择 ...
- Python编程从入门到实践笔记——异常和存储数据
Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...
- Python编程从入门到实践笔记——文件
Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...
- Python编程从入门到实践笔记——函数
Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...
- Python编程从入门到实践笔记——字典
Python编程从入门到实践笔记——字典 #coding=utf-8 #字典--放在{}中的键值对:跟json很像 #键和值之间用:分隔:键值对之间用,分隔 alien_0 = {'color':'g ...
随机推荐
- 多倍图切图cutterman
- P1077-DP【黄】
昨天好几道题没做出来很郁闷,结果今天上来半小时不到就直接做出一道黄DP题了,不错,又有写题的冲动了. 这道题我一直被那个"因为方案数可能很多,请输出方案数对 1000007取模的结果.&qu ...
- 机器学习-线性分类-支持向量机SVM-软间隔-核函数-13
目录 1. 总结 SVM 2. 软间隔svm 4. 核函数 1. 总结 SVM SVM算法的基础是感知器模型, 感知器模型 与 逻辑回归的不同之处? 逻辑回归 sigmoid(θx) 映射到 0-1之 ...
- pycharm设置保存时自动格式化代码(Auto Reformat Code)
原文:https://blog.csdn.net/qq_41906934/article/details/124631826 1.手动格式化代码 Code -> Reformat Code 格式 ...
- RSA趣题篇(简单型)
1.n与p的关系 题目 ('n=', 288990088827100766680640490138486855101396196362885475612662192799072729620922966 ...
- [转帖]HBase实战:记一次Safepoint导致长时间STW的踩坑之旅
https://mp.weixin.qq.com/s/GEwD1B-XqFIudWP_EbGgdQ 过 程 记 录 现象:小米有一个比较大的公共离线HBase集群,用户很多,每天有大量的Ma ...
- [转帖]Always-on Profiling for Production Systems
https://0x.tools/ 0x.tools (GitHub) is a set of open-source utilities for analyzing application perf ...
- [转帖]043、TiDB特性_缓存表和分区表
针对于优化器在索引存在时依然使⽤全表扫描的情况下,使⽤缓存表和分区表是提升查询性能的有效⼿段. 缓存表 缓存表是将表的内容完全缓存到 TiDB Server 的内存中 表的数据量不⼤,⼏乎不更改 读取 ...
- [转帖]Jmeter性能测试:高并发分布式性能测试
一.为什么要进行分布式性能测试 当进行高并发性能测试的时候,受限于Jmeter工具本身和电脑硬件的原因,无法满足我们对大并发性能测试的要求.基于这种场景下,我们就需要采用分布式的方式来实现我们高并发的 ...
- [转帖]解释docker单机部署kraft模式kafka集群时,尝试各种方式的网络broker全部不通而启动失败的原因,并提示常见bug关注点
现象: controller节点与其他两个broker的通信失败.公网ip,宿主机ip,服务名,各种网络方式,都无法成功. 两点提示: 1.bug原因:因为单机内存不够用,设置了较低的 KAFKA_H ...