深入解析Python小白学习【操作列表】


Posted in Python onMarch 23, 2019

1.遍历列表

需要对列表中的每个元素都执行相同的操作时,可使用for 循环:

magicians = ['alice','david','carolina']
for magician in magicians:
  print(magician)
>>>alice
>>>david
>>>carolina

 循环中,Python将首先读取其中的第一行代码:

for magician in magicians:

这行代码让Python获取列表magicians 中的第一个值('alice' ),并将其存储到变量magician 中。接下来,Python读取下一行代码:

print(magician)

它让Python打印magician 的值——依然是'alice' 。鉴于该列表还包含其他值,Python返回到循环的第一行:

for magician in magicians:

Python获取列表中的下一个名字——'david' ,并将其存储到变量magician 中,再执行下面这行代码: 

print(magician)

以此类推,直至列表的最后一个元素。

对列表中的每个元素,都将执行循环指定的步骤,而不管列表包含多少个元素。如果列表包含一百万个元素,Python就重复执行指定的步骤一百万次,且通常速度非常快。 使用for 循环处理数据是一种对数据集执行整体操作的不错的方式。

2.避免缩进错误,Python根据缩进来判断代码行与前一个代码行的关系

2.1未缩进:

magicians = ['alice','david','carolina']
for magician in magicians:
print(magician)
IndentationError: expected an indented block

2.2循环后的冒号

 for 语句末尾的冒号告诉Python,下一行是循环的第一行。如果你不小心遗漏了冒号,将导致语法错误。

3.创建数值列表

3.1函数range()

for value in range(1,5):
  print(value)
>>>1
>>>2
>>>3
>>>4

函数range()让Python从你指定的第一个值开始数,在到达你指定的第二个值后停止,因此输出并不包含第二值。

3.2使用range()创建数字列表

将range() 作为list() 的参数,输出将为一个数字列表。

numbers = list(range(1,6))
print(numbers)
>>>[1, 2, 3, 4, 5]

range()函数还可指定步长:

even_numbers = list(range(1,13,2))
print(even_numbers)
>>>[1, 3, 5, 7, 9, 11]

函数range() 从1开始数,然后不断地加2,直到达到或超过终值。

使用函数range() 几乎能够创建任何需要的数字集。

squares = []
for value in range(1,11):
  squares.append(value**2)
print(squares)
>>>[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

4.列表解析

列表解析将for 循环和创建新元素的代码合并成一行,并自动附加新元素:

squares = [value**2 for value in range(1,11)]
print(squares)
>>>[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

首先,指定一个描述性的列表名,如squares。然后指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value**2 ,它计算平方值。接下来,编写一个for 循环,用于给表达式提供值,再加上右方括号。在这个示例中,for 循环为for value in range(1,11) ,它将值1~10提供给表达式value**2 。请注意,这里的for 语句末尾没有冒号。

5.列表切片(处理部分列表元素)

与range()一样,指定要使用的第一个元素和最后一个元素的索引,到达指定的第二个索引值前面的元素后停止。

players = ['charles','martina','michael','florence','eli']
print(players[0:3])
>>>['charles', 'martina', 'michael']

未指定起始索引及终止索引的情况: 

players = ['charles','martina','michael','florence','eli']
print(players[:4])
>>>['charles', 'martina', 'michael', 'florence']
players = ['charles','martina','michael','florence','eli']
print(players[1:])
>>>['martina', 'michael', 'florence', 'eli']
players = ['charles','martina','michael','florence','eli']
print(players[-3:])
>>>['michael', 'florence', 'eli']

6.遍历切片

要遍历列表的部分元素,可在for 循环中使用切片。

players = ['charles','martina','michael','florence','eli']
print("Here are the first three players in my team:")
for player in players[0:3]:
  print(player.title())
>>>Here are the first three players in my team:
>>>Charles
>>>Martina
>>>Michael

处理数据时,可使用切片来进行批量处理;编写Web应用程序时,可使用切片来分页显示信息。

7.复制列表

要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )。

my_foods = ['pizza','falafel','carrot cake']
friend_foods = my_foods[:]
 
print(my_foods)
print(friend_foods)
>>>['pizza', 'falafel', 'carrot cake']
>>>['pizza', 'falafel', 'carrot cake']
my_foods = ['pizza','falafel','carrot cake']
# friend_foods和my_foods指向同一个列表
friend_foods = my_foods
my_foods.append('cannoli')
friend_foods.append('ice cream')
print(my_foods)
print(friend_foods)
>>>['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']
>>>['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']

8.元组

列表是可以修改的,然而,需要创建一系列不可修改的元素,元组可以满足这种需求。不可变的列表被称为元组 。

元组看起来犹如列表,但使用圆括号而不是方括号来标识。

dimensions = (200,50)
print(dimensions[0])
print(dimensions[1])
>>>200
>>>50

元组元素不可更改: 

dimensions = (200,50)
dimensions[0] = 230
 
>>>dimensions[0] = 230
>>>TypeError: 'tuple' object does not support item assignment

8.1 for 循环遍历元组

dimensions = (200,50,100)
for dimension in dimensions:
  print(dimension)
>>>200
>>>50
>>>100

8.2修改元组变量

元组元素不可更改,但可给存储元组的变量赋值。

dimensions = (200,50,100)
for dimension in dimensions:
  print(dimension)
 
dimensions = (50,40,30)
for dimension in dimensions:
  print(dimension)
>>>200
>>>50
>>>100
>>>50
>>>40
>>>30

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

以上所述是小编给大家介绍的Python操作列表详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 Python
Python如何实现定时器功能
May 28 Python
在python3.64中安装pyinstaller库的方法步骤
Jun 02 Python
Python实现初始化不同的变量类型为空值
Jun 02 Python
Python小白垃圾回收机制入门
Jun 09 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
OpenCV读取与写入图片的实现
Oct 13 Python
Python绘制地图神器folium的新人入门指南
May 23 Python
Python图像处理库PIL详细使用说明
Apr 06 Python
Python基础之条件控制操作示例【if语句】
Mar 23 #Python
Python基础之循环语句用法示例【for、while循环】
Mar 23 #Python
详解python中sort排序使用
Mar 23 #Python
Python基础之函数的定义与使用示例
Mar 23 #Python
详解用Python练习画个美队盾牌
Mar 23 #Python
详解python中TCP协议中的粘包问题
Mar 22 #Python
Python JSON格式数据的提取和保存的实现
Mar 22 #Python
You might like
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
PHP安全的URL字符串base64编码和解码
2014/06/19 PHP
PHP ajax 异步执行不等待执行结果的处理方法
2015/05/27 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
学python爬虫能做什么
2020/07/29 Python
python中re模块知识点总结
2021/01/17 Python
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
老海军美国官网:Old Navy
2016/09/05 全球购物
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
外企C语言笔试题
2013/11/10 面试题
百度软件工程师职位
2013/02/14 面试题
会计专业毕业生自我评价
2013/09/25 职场文书
自我鉴定书范文
2013/10/02 职场文书
优秀经理获奖感言
2014/03/04 职场文书
五一劳动节慰问信
2015/02/14 职场文书
论文评审意见
2015/06/05 职场文书
《废话连篇——致新手》——chinapizza
2022/04/05 无线电