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编程:从入门到实践》的更多相关文章

  1. Python编程从入门到实践笔记——操作列表

    Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...

  2. Python编程从入门到实践笔记——列表简介

    Python编程从入门到实践笔记——列表简介 #coding=utf-8 #列表——我的理解等于C语言和Java中的数组 bicycles = ["trek","cann ...

  3. Python编程从入门到实践笔记——用户输入和while循环

    Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...

  4. #Python编程从入门到实践#第四章笔记

    #Python编程从入门到实践#第四章笔记   操作列表 ​​​1.遍历列表 使用for循环,遍历values列表 for value in values: print(value) 2.数字列表 使 ...

  5. Python编程从入门到实践

    Python编程从入门到实践1 起步2 变量和简单数据类型3 列表简介4 操作列表5 if语句6 字典7 用户输入和while循环8 函数9 类10 文件和异常11 测试代码12 武装飞船13 外星人 ...

  6. 《python编程从入门到实践》读书实践笔记(一)

    本文是<python编程从入门到实践>读书实践笔记1~10章的内容,主要包含安装.基础类型.函数.类.文件读写及异常的内容. 1 起步 1.1 搭建环境 1.1.1 Python 版本选择 ...

  7. Python编程从入门到实践笔记——异常和存储数据

    Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...

  8. Python编程从入门到实践笔记——文件

    Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...

  9. Python编程从入门到实践笔记——函数

    Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...

  10. Python编程从入门到实践笔记——字典

    Python编程从入门到实践笔记——字典 #coding=utf-8 #字典--放在{}中的键值对:跟json很像 #键和值之间用:分隔:键值对之间用,分隔 alien_0 = {'color':'g ...

随机推荐

  1. 1688 复杂业务场景下的 Serverless 提效实践

    1688 复杂业务场景下的 Serverless 提效实践 作者 | 远岩(阿里巴巴 CBU 技术部 Serverless & 工程效能负责人) 前言 首先为大家简单介绍一下我们的业务场景,1 ...

  2. C#设计模式02——原型模式的写法

    public class ProteType { private static ProteType _ProteType = new ProteType(); private ProteType() ...

  3. maven总结三: 常用插件

    本文为博主原创,转载请注明出处: 目录: 1. maven-release-plugin 2. maven-compiler-plugin 3. maven-assembly-plugin 4. sp ...

  4. idea 查看类的继承结构及其子类

    转载请注明出处: 在idea中通过查看一个类或接口的继承结构,可以了解到整个相关功能设计的流程 idea中查看一个类或接口的继承结构的方法如下: 1.选中一个类:右键进入继承结构视图: 效果图如下:

  5. 【MicroPython] 用 c 添加接口 -- 添加 module

    [来源]https://www.eemaker.com/micropython-add-module.html

  6. 【 js 】 构造函数返回的注意事项

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 44从零开始用Rust编写nginx,命令行参数的设计与解析及说明

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...

  8. [转帖]内存管理参数zone_reclaim_mode分析

    zone_reclaim_mode 官方解释 调整方法 调整的影响 官方解释 最近在性能优化,看到了zone_reclaim_mode参数,记录备用 zone_reclaim_mode: Zone_r ...

  9. [转帖]Kafka查看topic、consumer group状态命令

    https://www.cnblogs.com/AcAc-t/p/kafka_topic_consumer_group_command.html 最近工作中遇到需要使用kafka的场景,测试消费程序启 ...

  10. [转帖]iptables规则链执行顺序

    https://www.cnblogs.com/yum777/articles/8514636.html iptables 是采用规则堆栈的方式来进行过滤,当一个封包进入网卡,会先检查 Prerout ...