您的位置:首页 > 编程语言 > Python开发

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

2020-07-18 04:48 399 查看

操作列表

遍历列表

方法: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,如有错误,欢迎指出与探讨

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: