【初学python第3天】

第4章 操作列表

遍历整个列表

4.1遍历整个列表—for循环

使用for循环打印魔术师名单中的所有名字:
让Python从列表magicians中取出一个名字,并将其存储在变量magician中,打印存储在变量magician中的名字。
对列表magicians中 的每个名字重复执行第2、3行的代码。

#   4_magicians,py
magicians = ['alice','david','carolina']
for magician in magicians:
    print(magician)
1.列表中有几个元素,循环就执行几次。
2.单复数的命名约定。
3.在for循环中可对每个元素执行任何操作;在代码行for magician in magicians后面每个缩进的代码行都是循环的一部分,且对列表中的每个值都执行一次。
4.for循环后,没有缩进的代码只执行一次,且不会重复执行。
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")
print("Thank you,everyone.That was a great magic show!")

4.2避免缩进错误

Python 根据缩进来判断代码行与前一个代码行的关系

1.忘记缩进

例如for循环后的代码行忘记缩进,提示错误
IndentationError: expected an indented block

File "G:\pythonpycharmdeapp\test\day1_1\4_magicians.py", line 3
    print(magician.title()+",that was a great trick!")
    ^
IndentationError: expected an indented block
2.缩进了不需要缩进的

提示错误
IndentationError: unexpected indent

 File "G:\pythonpycharmdeapp\test\day1_1\1_1.py", line 2
    print(message.title().lstrip())
IndentationError: unexpected indent
3.忘记for循环的冒号

for循环后的冒号告诉Python,下一行是循环的第一行,遗漏冒号将会导致语法错误
SyntaxError: invalid syntax

File "G:\pythonpycharmdeapp\test\day1_1\4_magicians.py", line 2
    for magician in magicians
                             ^
SyntaxError: invalid syntax
练习
animals = ['cat','dog','people']
for animal in animals:
    print(animal+" would make a great pet")
print("any of these animals would make a great pet!")

4.3创建数值列表

使用列表来存储数字集合

1.使用 函数range() 生成一系列数字
# numbers.py
for value in range(1,5):
    print(value)

函数range()从指定的第一个值开始数,到达指定的第二个值后停止,因此输出不包含第二个值;例如ange(1,5),是从1开始数,到5之前停止,因此输出1234不包含5。

2.使用函数 range()和==函数list() ==创建数字列表
2.1函数list()可以直接将range()的结果转换为列表,

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

numbers = list(range(1,6))
print(numbers)
[1, 2, 3, 4, 5]
2.2使用函数range()时,可以指定步长(即等差增加)
numbers = list(range(1,6,2))# 步长为2
print(numbers)
[1, 3, 5]
2.3创建列表包含1~10的乘方

使用空列表,循环和临时变量square

#squares.py
squares = []
for value in range(1,11):
    square = value**2
    squares.append(square)
print(squares)

或 不使用临时变量,直接将计算得到的值加到列表末尾

#squares.py
squares = []
for value in range(1,11):
    squares.append(value**2)
print(squares)
3.对数字列表进行简单的统计

专门处理数字列表的函数,最大值、最小值、总和

4.列表解析
#列表解析
squares = [value**2 for value in range(1,11)]
print(squares)

指定一个列表名–定义一个表达式能用于生成要存储在列表中的值—编写for循环,为表达式提供值
该实例中,for循环for value in range(1,11)将值1~10提供给value**2。

练习
#4-3
for value in range(1,21):
    print(value)
#4-4
millions=list(range(1,101))
print(millions)
#4-5
print(min(millions))
print(max(millions))
print(sum(millions))
#4-6
numbers=[]
for value in range(1,21,2):
    numbers.append(value)
print(numbers)
#4-7
nums=list(range(3,31,3))
for num in nums:
    print(num)
#4-8
lfs=[value**3 for value in range(1,11)]
print(lfs)

4.4使用列表的一部分–切片

1.切片

创建切片,指定使用的i的一个元素和最后一个元素的索引,类似range()函数,在到达指定的第二个索引前面的元素停止。

#players.py
players=['c','s','b','a']
print(players[0:3])

通过切片,可以生成列表的任何子集
如果没有指定第一个索引,自动从头开始提取
同理,不指定最后一个索引,将自动提取到末尾

2.遍历切片
#players.py
players=['c','s','b','a']
for player in players[:3]:
    print(player.title())
3.复制列表

根据已有列表创建全新列表
创建包含整个列表的切片 [:]

4.5元组

列表是可修改的,元组是不可修改的列表。
1.元组用圆括号
2.遍历元组中的值–for循环
3.元组中的元素不可修改,但可以给存储元组的变量赋值,即重新定义元组。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值