栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python学习——操作列表

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习——操作列表

操作列表 for循环

for循环:对数据集执行整体操作,对列表中的每个元素都执行相同的操作(对列表中的每个元素,都将执行循环指定的步骤,而不管列表包含多少个元素),如

magicians=['alice','david','carolina']
for magician in magicians:#分清单复数的含义
    print(magician)

for循环可以与其他语句结合使用,如:

magicians=['alice','david','carolina']
for magician in magicians:#不要漏掉冒号
    print(f'{magician.title(),that was a great trick!}')
    print(f'I can't wait to see your next trick,{magician.title()}.n')
print('Thank you, that was a great magic show!')#没有缩进的代码只执行一次

备注:两个print()都缩进,表示每个缩进的代码行都是循环的一部分,将针对列表中的每个值都执行一次,其中第二个函数调用print()中的换行符"n",表示每次迭代结束后都插入一个空行

for循环中缩进错误
  1. 忘记缩进,报错:IndentationError: expected an indented block

  2. 忘记缩进额外的代码行:不会错,但有逻辑错误(没有针对每一个元素执行操作)

  3. 不必要的缩进,报错:IndentationError: unexpected indent

  4. 循环后不必要的缩进:本不需要缩进,但缩进了

  5. for循环漏掉冒号

创建数值列表

将数字存储在列表中

函数range()生成数

函数range()使python从指定的第一个值开始数,并在到达指定的第二个值时停止,如果输出不符合预期,可以将指定的值加1或减1,如

for value in range(1,5):
    print(value)#输出结果为1到4
创建数字列表

使用list()将range()的结果直接转换为列表,将range()作为list()的参数

numbers=list(range(1,6))
print(numbers)

给range()函数指定第三个参数,可以指定步长

even_numbers=list(range(2,11,2))#打印1-10的偶数,从2开始数,不断加2,直到达到或超过终值11
print(even_numbers)
squares=[]#创建名为squares的空列表
for value in range(1,11):#使用range()函数遍历1-10的值
    square=value**2#在循环中,计算当前值的平方,并将结果赋给临时变量square末尾
    squares.append(square)
print(squares)#创建包含1-10几个整数的平方

备注:在python中,2的立方用2**3表示

临时变量square可以使代码更易读,但也会让代码变长,因而在编写使清晰易懂,在审核时,可以采用更高效的方法,如:

squares=[]
for value in range(1,11):
    squares.append(value**2)#直接将计算的平方值附加到列表squares末尾
对数字列表执行简单的统计计算
digits=[1,2,3,4,5,6,7,8,9,0]
print(min(digits))
max(digits)
sum(digits)
列表解析

将for循环和创建新元素的代码合并为一行,如

squares=[value**2 for value in range(1,11)]#for语句末尾没有冒号
print(squares)

备注:首先指定列表名squares,然后指定方括号,定义表达式(用来存储列表中的值),此处为value**2,编写for循环。将值提供给已定义过的表达式

处理列表中部分元素——切片

切片:访问并处理列表中的部分元素,可指定要使用的第一个元素和最后一个元素的索引,python元素从0开始,到达第二个索引之前的元素后停止

  • 提取列表的2、3、4个元素
players=['charles','martina','michael','florence','eli']
print(players[1:4])
  • 不指定起始索引,从第一个元素开始提取
players=['charles','martina','michael','florence','eli']
print(players[:4])
  • 不指定终止索引,从指定起始索引提取到列表末尾的所有元素
players=['charles','martina','michael','florence','eli']
print(players[2:])
  • 负数索引返回列表末尾相应距离的元素
players=['charles','martina','michael','florence','eli']
print(players[-3:])#需输出列表最后三个元素
结合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())
复制列表

目的:根据既有列表创建全新的列表,而不是原有列表直接赋值为新列表,便于操作

同时省略起始索引和终止索引[:],python可创建一个始于第一个元素、终止于最后一个元素的切片,即整个列表的副本

my_foods=['pizza','falafel','carrot cake']
friend_foods=my_foods[:]
my_foods.append('cannoli')
friend_foods.append('ice cream')
print('My favorite foods are:')
print(my_foods)
print('nMy friend's favorite foods are:')
print(friend_foods)
元组

备注:列表适合存储在程序运行期间可能变化的数据集,可以修改;

定义元组

python中不能修改的值为不可变的,而不可变的列表被成为元组:使用圆括号()表示,如

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

元组是由逗号标识的,创建只包含一个元素的元组通常没有意义,自动生成的元组有可能只有一个元素

遍历元组中的所有值

访问方式、for循环使用方式与访问列表元素相同,如

dimensions=(200,50)
for dimension in dimensions:
    print(dimension)
修改元组变量

不能修改元组的元素,但可以给存储元组的变量赋值,重新定义整个元组,如

dimensions=(200,50)
print("Original dimensions:")
for dimension in dimensions:
    print(dimension)
dimensions=(400,100)
print("nModified dimensions:")
for dimension in dimensions:
    print(dimension)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/950145.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号