python 第四章 操作列表

本文介绍了Python编程的基础概念,包括遍历列表、使用缩进、数值列表、切片操作、元组以及代码格式遵循的PEP8规范。详细阐述了for循环的工作原理,如何通过range()和list()创建数值列表,以及如何通过切片选取列表部分元素。同时,讨论了元组的不可变性及其在遍历中的应用。最后,强调了代码格式的重要性,如正确使用缩进和遵循PBE8规则,以提高代码可读性。
摘要由CSDN通过智能技术生成

目录

1.遍历

2.缩进

3.数值列表

4.使用列表部分元素

 5.元组

6.代码格式


1.遍历

        for循环

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

        ①. 对列表的每个元素,都将执行指定的步骤,而不管列表包含多少元素。

        ②. 对于存储列表元素的变量名,可随意制定名称,但考虑到实际使用,可采取与列表名相同的单复数形式,例如上述代码段中,列表名为magicians,变量名则使用了单数形式magician。

        ③. 在for循环的后续的缩进语句中,可包含任意行代码,且针对每个元素都会执行一次。例如,在如下语句中,对每个元素,都会执行两次print语句。此外,“\n”为插入空行作用。

magicians = ['alice','david','carolina']
for magician in magicians:
    print(magician.title() + ",that was a great trick!")
    print("I can't wait to see your next trick," + magician.title() + ".\n")

2.缩进

        ①. 若for循环后无缩进语句,则python程序找不到for循环的后续执行语句,进而报错;

        ②. for循环只会对缩进语句进行重复执行,直至元素遍历完毕,对需重复执行而未缩进语句,将会排除在循环操作之外。

        ③. python中只有在for循环中对每个元素执行的代码需要缩进,对无需缩进的代码进行缩进编写后,python会指出错误。

        ④. 对实际执行中,对本应执行一次却执行多次的语句,以及本应执行多次却执行一次的语句,需查看代码缩进是否有误。

        ⑤. for循环语句末尾有一个冒号“:”,不可遗漏,否则python无法执行操作,提示如下错误,但不会直接指出缺少冒号,因为python不知你要执行什么操作。

3.数值列表

        ①. 函数range():该函数从指定的第一个值开始数,到指定的第二个数停止,例:

for value in range(a,b):
    print(value)

上述代码段只会输出a到(b-1)的数字,而不会输出b,这是因为函数range()会从指定的第一个值开始数,到指定的b值前停止,即不会包括b,因此输出只到b-1为止。在使用range()时,若输出不符预期,尝试将指定值(第二个值)加1或减1。

        ②. 函数list():与range搭配使用,可直接创建列表,例如:

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

可得到一个列表numbers=[1,2,3,4,5]

        ③. 列表解析:用一行语句创建一个列表

squares = [value**2 for value in range(1,11)]
print(squares)

创建一个名为squares的列表,元素为1到10的平方。注意,此时for语句没有冒号":"

4.使用列表部分元素

        ①. 切片

        利用索引号,输出列表中部分元素:

players = ['dsaf','dhgd','dhdhd','dhdhdh','ukh']
print(players[m:n])

上述代码输出索引号m到n-1的元素,注意以下几点:a. 输出只到player[n]元素之前; b. m与n可以为空,当仅m空置时,默认从列表开头开始,同理,当仅n为空时,默认到列表末尾结束;c. 当m为负数,n为空时,从列表末尾开始,引用m个元素;d. 当m与n都为空时,相当于将整个列表都复制一边。

        ②. 利用切片遍历部分元素

        将for与切片搭配使用,可仅输出部分元素:

players = ['dsaf','dhgd','dhdhd','dhdhdh','ukh']
for player in players[:3]
    print(players[m:n])

        以上代码仅会输出players中前三个元素,而不是全部元素。

        ③. 复制列表中已有元素到新列表

old = ['xxx','ddd','hhh']
new = old[:]
print(old)
print(new)
print("\n")

old.append('ooo')
new.append('nnn')
print(old)
print(new)

执行以上代码,得到如下结果:

 

可以看到,在各自添加新元素之后,两个列表元素并不完全相同,说明第一次打印前只是将old列表的元素复制给new列表,二者之间不含逻辑关系。

old = ['xxx','ddd','hhh']
new = old
print(old)
print(new)
print("\n")

old.append('ooo')
new.append('nnn')
print(old)
print(new)

 执行以上代码,得到如下结果:

可以发现,在新增元素之后,两个列表的元素依然相同,,新增到old的元素出现在new中,新增到new的元素也出现在old中,这是因为new=old的操作是将两个列表名指向同一组列表元素。

 5.元组

        python将不能修改的值称为不可变的,而不可变的列表称为元组

        元组的定义与普通列表相似,唯一的区别是将[ ]换成( ),且其中的元素无法修改。

        遍历元组的元素也可采用for语句。

        虽然不可对元组内元素直接进行修改,但可通过对整个元组重新赋值的方式来进行元素的变换:

dimensions = (50,100)
print('old')
for dimension in dimensions
    print(dimension)

dimensions = (250,300)
print('new')
for dimension in dimensions
    print(dimension)

运行以上代码,得到如下结果:

利用变量保存元素,可以看到新旧元组的元素更改。

6.代码格式

        采用PBE 8规则进行修改:

        ①. 每行缩进采用4个空格

        ②. 每行字符不超过79个字符

        ③. 采用空行将程序的不同模块分开,但空行不宜使用过多

     

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值