深入解析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 相关文章推荐
python函数装饰器用法实例详解
Jun 04 Python
python基础教程之匿名函数lambda
Jan 17 Python
python实现超市扫码仪计费
May 30 Python
深入浅析Python传值与传址
Jul 10 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
Python3.5实现的罗马数字转换成整数功能示例
Feb 25 Python
Python2与Python3的区别实例分析
Apr 11 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
pycharm导入源码的具体步骤
Aug 04 Python
pycharm中leetcode插件使用图文详解
Dec 07 Python
Python实现生活常识解答机器人
Jun 28 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
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
操作Oracle的php类
2006/10/09 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
利用jQuery 实现GridView异步排序、分页的代码
2010/02/06 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
django的登录注册系统的示例代码
2018/05/14 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
用python发送微信消息
2020/12/21 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
大四毕业生学习总结的自我评价
2013/10/31 职场文书
成龙洗发水广告词
2014/03/14 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
婚内房产协议书范本
2014/10/02 职场文书
爱心捐助活动总结
2015/05/09 职场文书