目录
一、遍历列表
二、避免缩进错误
1、忘记缩进
2、忘记缩进额外的代码行、
3、不必要的缩进
4、循环后不必要的缩进
5、遗漏冒号
三、创建数字列表
1、使用函数range()
3、对数字列表执行简单的统计计算
4、列表解析
四、使用列表的一部分
1、切片
2、遍历切片
3、复制列表
新列表=原列表[:]
五、元组
1、定义元组
2、遍历
3、修改元组变量
使用for循环即可实现列表的遍历。
fruits=['apple','banana','orange','grape'] for fruit in fruits: print(fruit)
这样就可以实现列表的遍历: 当然,还可以有这样的操作:
fruits=['apple','banana','orange','grape'] for fruit in fruits: print('I have a '+fruit)
在for循环中执行其他操作
或者,这样:
fruits=['apple','banana','orange','grape'] for fruit in fruits: print('I have a '+fruit) print("What about you?\n")
Python根据缩进进行判断代码行与前一个代码行的关系。
fruits=['apple','banana','orange','grape'] for fruit in fruits: print('I have a '+fruit) #此处忘记缩进
此时将会产生报错:
正确的写法:
fruits=['apple','banana','orange','grape'] for fruit in fruits: print('I have a '+fruit)
比如,我想要这样的结果:
然而我的代码是这样的:
fruits=['apple','banana','orange','grape'] for fruit in fruits: print('I have a '+fruit) print("What about you!\n")
此时代码运行的结果是这样的:
这就是忽略缩进额外的代码行造成的,正确的写法:
fruits=['apple','banana','orange','grape'] for fruit in fruits: print('I have a '+fruit) print("What about you!\n")
在Python中使用不必要的缩进也是不允许的。
print('Hello,Python!') print('Hello,world!') #此处的缩进错误
此时将会产生报错:
在循环结束后的下一行代码应该删除缩进,不然,代码的功能就还在循环中。
fruits=['apple','banana','orange','grape'] for fruit in fruits: print('I have a '+fruit) print("What about you!") print('*************************************') fruits=['apple','banana','orange','grape'] for fruit in fruits: print('I have a '+fruit) print("What about you!\n")
显然,如你所愿:
for语句末尾的冒号告诉Python下一行是循环的第一行。
fruits=['apple','banana','orange','grape'] for fruit in fruits #此处遗漏冒号 print('I have a '+fruit) print("What about you!")
果然报错了
for i in range(1,4): print(i)
运行:
显然,输出结果中只有1、2、3,没有4,这是怎么回事呢?原来函数range()从指定的以一个参数是开始,但是到达指定的第二个参数后就停止了。
2、使用range()函数创建数字列表
range()函数可以传入三个参数,分别为开始,结束和步进。
numbers=list(range(1,11)) #1-10 print(numbers) numbers=list(range(1,11,2)) #1-10的奇数 print(numbers) #1-10的平方 new_numbers=[] numbers=list(range(1,11)) for number in numbers: new_number=number**2 new_numbers.append(new_number) print(new_numbers)
运行:
numbers=list(range(1,11)) print(numbers) #打印 print(min(numbers)) #打印最小值 print(max(numbers)) #打印最大值 print(sum(numbers)) #打印和
运行:
列表名=[表达式 用于给表达式提供值得for循环]
看个列子:
numbers=[number**3 for number in range(1,6)] print(numbers)
这段代码实现了对1、2、3、4、5求立方,将结果存在列表numbers里,最后打印numbers:
列表名[开始索引:结束索引:步进]
未指定开始索引,切片列表从头开始;未指定结束索引, 切片终止为列表末尾;未指定步进,默认为1;索引可以使用负索引。
numbers=list(range(1,11)) print(numbers) print(numbers[2:4]) #索引位置2-4,不包括4 print(numbers[:5]) #索引位置开始-5,不包括5 print(numbers[5:]) #索引位置5-结束 print(numbers[-4:-1]) #索引位置倒数第四个到倒数第一个,不包括最后一个 print(numbers[3:10:3]) #索引3,6,9
运行:
使用for循环可以遍历切片。
numbers=list(range(1,11)) #print(numbers[3:10:3]) #索引3,6,9 for i in numbers[3:10:3]: print(i)
运行:
新列表=原列表[:]
numbers=list(range(1,11)) print(numbers) new_numbers=numbers[:] print(new_numbers)
复制成功:
元组很想列表,只不过元组使用()来标识,而列表使用[]来标识。
列表是可以修改的,但是元组不可以。
numbers=(1,2,3) print(numbers)
运行:
尝试修改元组:
numbers=(1,2,3) numbers[0]=10 print(numbers)
此时产生报错:
使用for循环即可实现。
numbers=(1,2,3) for i in numbers: print(i)
运行:
虽然不能修改元组的元素,但是可以给存储元组的变量赋值。
numbers=(1,2,3) print(numbers) numbers=(4,5,6) print(numbers) numbers=(1,2,3,4,5,6) print(numbers)
运行:
文章如有错误,请你不吝指教!