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. Java虚拟机——类加载器深入剖析

    一.java虚拟机与程序的生命周期 在如下几种情况下,java虚拟机将结束生命周期: 1.执行了System.exit()方法 2.程序正常执行结束 3.程序在执行过程中遇到了异常或错误而异常终止 4 ...

  2. 17-三态门(TSL)

    三态门(TSL) 普通的逻辑电路只有两个状态,还有一个高阻态. EN是高电平1 A,B,EN之间的关系是与的关系,当EN为1得时候,EN就不起作用了,输入由A,B决定.EN端为高电平,所以二极管D2截 ...

  3. Oracle ORA-01861: 文字与格式字符串不匹配(日期格式导致的问题)

    1.问题 如图所示,Oracle ORA-01861: 文字与格式字符串不匹配.这里的日期格式出现问题,导致了ORA-01861错误. 2.解决方式 原因: 如果直接按照字符串方式,或者直接使用to_ ...

  4. [转帖]容器环境的JVM内存设置最佳实践

    https://cloud.tencent.com/developer/article/1585288 Docker和K8S的兴起,很多服务已经运行在容器环境,对于java程序,JVM设置是一个重要的 ...

  5. [转帖]Oracle JDBC中的语句缓存

    老熊 Oracle性能优化 2013-09-13 在Oracle数据库中,SQL解析有几种: 硬解析,过多的硬解析在系统中产生shared pool latch和library cache liatc ...

  6. [转帖][大数据]ETL之增量数据抽取(CDC)

    https://www.cnblogs.com/johnnyzen/p/12781942.html 目录 1 CDC 概念 1.1 定义 1.2 需求背景 1.3 考察指标 2 CDC 常见解决方案 ...

  7. [转帖]Tomcat maxKeepAliveRequests

    https://www.cnblogs.com/turn2i/p/10480088.html 在写这个问题前,其实我是为了分析项目碰到的一个tcp close wait问题.这个问题就不在这里讲了. ...

  8. [转帖]360孵化奇安信科创板上市,IPO前清空股权赚37亿元分手费

      https://baijiahao.baidu.com/s?id=1666485645739027654&wfr=spider&for=pc 来源:IPO头条 来源:IPO头条原创 ...

  9. [转帖]Web性能优化工具WebPageTest(一)——总览与配置

    https://www.cnblogs.com/strick/p/6677836.html 网站性能优化工具大致分为两类:综合类和RUM类(实时监控用户类),WebPageTest属于综合类. Web ...

  10. ebpf的简单学习

    ebpf的简单学习-万事开头难 前言 bpf 值得是巴克利包过滤器 他的核心思想是在内核态增加一个可编程的虚拟机. 可以在用户态定义很多规则, 然后直接在内核态进行过滤和使用. 他的效率极高. 因为避 ...