《Python编程:从入门到实践》学习打卡3-操作列表+元组

操作列表

遍历列表

方法:for循环,

magicians = ['david','hart','jerry','kurt']
for magician in magicians: # 在列表magicians按顺序读取元素赋值给变量magician
	print(magician) 
    print(magician.title() + ',that is a great trick\n')
david
David,that is a great trick

hart
Hart,that is a great trick

jerry
Jerry,that is a great trick

kurt
Kurt,that is a great trick

代码缩进

  1. 忘记缩进

    magicians = ['david','hart','jerry','kurt']
    for magician in magicians:
    print(magician) # for语句中执行语句没有缩进,系统报错
  2. 没有缩进所有的执行语句

    magicians = ['david','hart','jerry','kurt']
    for magician in magicians:
    	print(magician)
     print(magician.title() + ',that is a great trick\n') # 逻辑错误,只会在最后一行打印该语句
  3. 不必要的缩进

    magicians = ['david','hart','jerry','kurt']
    for magician in magicians:
    	print(magician)
        
        print('thanks all the magicians') #此句应该在最后单独打印,但多余缩进每次都会打印该句
  4. 丢失冒号

    magicians = ['david','hart','jerry','kurt']
    for magician in magicians # 丢失冒号,系统报错
    	print(magician)
  5. 总结:单独执行的语句不需要缩进,在语句块内需要执行的语句要缩进,语句块内结构缺一不可,如for循环内不可缺失冒号

课后习题

4-1披萨

pizzas = ['beef','tomato','cheese']
for pizza in pizzas:
    print(pizza)
pizzas = ['beef','tomato','cheese']
for pizza in pizzas:py
    print('I like ' + pizza + ' pizza')
pizzas = ['beef','tomato','cheese']
for pizza in pizzas:
    print('I like ' + pizza + ' pizza')
    
print('\n' + pizzas[0] + ' pizza is my favorite pizza')
print(pizzas[1] + ' pizza is sour')
print(pizzas[2] + ' pizza is sweet')
print('I really like pizza')

4-2动物

animals = ['dog','cat','rabbit']
for animal in animals:
	print(animal)
animals = ['dog','cat','rabbit']
features = ['kind','cute','furry']
i = 0
for animal in animals:
    print('A ' + animal + ' would make a ' + features[i] + ' pet.')
    i = i + 1 # 循环一次,feature索引加一
animals = ['dog','cat','rabbit']
features = ['kind','cute','furry']
i = 0
for animal in animals:
    print('A ' + animal + ' would make a ' + features[i] + ' pet.')
    i = i + 1
    
print('Any of these animals would make a great pet!')

创建数值列表

range函数

形式:range(m,n,s),m,n分别表示起点和终点,s表示步长,默认为1

作用:生成一系列数字

for i in range(1,5):
	print(i)
#    
1
2
3
4 # 从第一个数开始打印,到达最后一个值时停止,因此只能打印到4

利用range函数创建列表,并对列表进行操作

square = [] # 创建空列表
for i in range(1,11,2): # 取其中的1,3,5,7,9
    square.append(i**2) #每个数平方后添加到列表中
print(square)
# [1,9,25,49,81] #

简单统计计算

num = [2,3,4,5,56,7,8]
print(min(num)) # 最小值:2 #
print(max(num)) # 最大值:56 #
print(sum(num)) # 和:85 #

列表解析(简化代码)

含义:将for循环和创建新元素的操作合并在一行代码

square = [value**2 for value in range(1,11,2)]
print(square) # 直接生成[1.9,25,49,81]

课后习题

4-3数到20

for i in range(1,21):
	print(i) # 打印1-20数字

4-4一百万

num = list(range(1,1000001))
for i in num:
    print(i)

4-5计算1-1000000的总和

num = list(range(1,1000001))
print(max(num))
print(min(num))
print(sum(num))

4-6奇数

num = list(range(1,21,2))
for i in num:
    print(i)

4-7三的倍数

num = list(range(3,31,3))
for i in num:
    print(i)

4-8立方

square = [] # 建立空列表
for i in range(1,11):
	square.append(i**3)
for s in square:
	print(s)

4-9立方解析

square = [value**3 for value in range(1,11)]
print(square)

使用列表的一部分

切片操作(参照索引标号规则)

num = ['a','b','c','d','e']
print(num[0,3]) # ['a','b','c'] 如同索引一般,只能够到达终点前一个值 #
print(num[:4]) # ['a','b','c','d'] 从列表头开始,到终点的前一个值 #
print(num[1:]) # ['b','c','d','e'] 从起点开始,到列表最后一个值 #
print(num[-3:]) # ['c','d','e'] 从倒数第三个到最后一个值 #

复制列表

num = ['a','b','c','d','e']
new_num = num[:] # 创建列表的副本关联到变量new_num中

num.append('r')
print(num) # ['a','b','c','d','e','r'] #

new_num.append('s')
print(new_num) # ['a,'b','c','d','e','s'] 两个列表不是一个列表#

new_num1 = num # 这种赋值是将两个变量名同时关联到一个列表,还是一个列表
num.append('r')
print(num) # ['a','b','c','d','e','r'] #
print(new_num) # ['a','b','c','d','e','r'] #

总结:复制列表时应该用且切片创建一个副本,也就是一个新的列表,而不是创建一个新的变量与原来的变量关联到同一个列表

课后习题

4-10切片

num = ['a','b','c','d','e']
print(num[:3]) # 打印前三个元素 #
print(num[1:3]) #打印中间三个数字 #
print(num[-3:]) #打印末尾三个元素 #

4-11你的披萨和我的披萨

pizzas = ['beef','tomato','cheese']
friend_pizzas = pizzas[:] # 创建副本
pizzas.append('beacon') #原列表加入新元素
friend_pizzas.append('chicken') # 副本列表加入新元素

print('my favorite pizzas are:')
for pizza in pizzas:
    print(pizza)

print('my friend favorite pizzas are:')
for friend_pizza in friend_pizzas:
    print(friend_pizza)

4-12使用多个循环

my_foods = ['pizza','falafel','carrot cake']
friends_foods = my_foods[:]

for my_food in my_foods:
    print(my_food)
    
for friend_food in friend_foods:
    print(friend_food)

元组

定义

  1. 不可变的列表称之为元组(tuple),用圆括号非方括号包括元素,如(1,2,3,4)

  2. 元素的访问方法与列表一致,列表名称[index]

  3. 元素的遍历和列表一致

  4. 不可修改元组中元素的值,但可以修改元组变量,相当于给变量重新赋值

    dims = (1,2)
    for dim in dims:
        print(dim)
    
    dims = (3,4) # 给原元组变量赋值
    for dim in dims:
        print(dim)

课后习题

4-13自助餐

foods = ('apple','grapes','banana','tomato','rice')
for food in foods:
    print(food)
    
foods[2] = 'cheese' # 尝试改变元组中的值
foods = ('apple','grapes','banana','chicken','beacon') # 改变两种食品,重新赋值
for food in foods:
    print(food)

小白入门python,如有错误,欢迎指出与探讨

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值