python编程 从入门到实践 第四章 操作列表

第四章 学习笔记

# 4.操作列表
# 4.1 遍历整个列表
magicians=['alice','david','carolina']
for magician in magicians:
    print(magician)
## 从列表magicians列表中取出一个名字,并且存储在magician变量里,最后再打印变量

#深入的研究循环

##使用单复数名称可以帮助判断处理代码段的单个列表元素还是整个列表

#4.1.2 在for循环中执行更多的操作
for magician in magicians:
    print(magician.title()+", that is a great trick!")
    print("i can't wait to see you, "+ magician.title()+".\n")
##缩进就可以执行
#4.1.3 在for循环结束后执行一些操作
##for循环后面没有缩进的代码只执行一次,不会重复

#4.2 避免缩进错误
#python根据缩进来判断代码行和之前的代码的关系
#4.2.1 忘记缩进
##      错误提示:IndentationError: expected an indented block  通常解决这种方法就是将for最近的进行缩进

#4.2.2 忘记缩进额外的代码行
for magician in magicians:
    print(magician.title()+", that is a great trick!")
print("i can't wait to see you, "+ magician.title()+".\n")

#4.2.3  不必要的缩进
## 错误提示:    IndentationError: unexpected indent

#4.2.4  循环后不必要的缩进

#4.2.5  遗漏了冒号
##for语句的冒号告诉python,下一行是循环的第一行
##错误提示:  SyntaxError: invalid syntax

#4.3 创建数值列表
#4.3.1 使用函数range()
for value in range(1,5):
    print(value)
##range打印的是1-4,不会打印5 ,所以打印从第一个数开始,第二个数结束(不包括第二个数)

#4.3.2 使用range()创建数字列表
numbers=list(range(1,6))
print(numbers)
## 使用函数list()将range()的结果直接转换为列表(就是将range()作为list()的参数
even_numbers=list(range(2,11,2))
print(even_numbers)
## 函数range()从2开始,不断地加2直到达到或超过终值
squares=[]
for value in range(1,11):
    square=value**2
    squares.append(square)
print(squares)
## 首先建立空列表,再用range()遍历1—10,循环中计算平方,再将平方值存入空列表,循环结束后打印列表
#更简洁方法
#for value in range(1,11):
#   squares.append(value**2)
#print(squares)
##不使用临时变量更加简洁,但是有临时变量更易读

#4.3.4 对数字列表执行简单的统计计算
digits=[1,2,3,4,5,6,7,8,9,0]
print(min(digits))
print(max(digits))
print(sum(digits))

#3.4 列表解析
squares=[value**2 for value in range(1,11)]
print(squares)
##  将for循环和创建新元素的代码合成一行,并自动附加新元素
##  首先指定一个描述性的列表名,定义一个表达式,用于生成要存储到列表里的值表达式:value**2,接下来的for循环,用于为表达式提供值
#4.4 使用列表的一部分
##处理部分元素 切片
#4.4.1  切片
players=['charles','martina','michael','florence','eli']
print(players[0:3])
print(players[:4])
##如果不指定开始索引,则默认从开头开始
print(players[2:])
##同样不指定结束索引,,则到最后一个元素结束
print(players[-3:])
##输出最后三名队员

#4.4.2 遍历切片
for player in players[:3]:
    print(player.title())
##编写web时,可用切片显示信息

#4.4.3  复制列表
my_foods =['pizza','falafel','carrot cake']
friend_foods=my_foods[:]
my_foods.append("ice-cream")
friend_foods.append("apple")
print("my favourite foods are: ")
print(my_foods)
print("\nmy friends' favourite foods are: ")
print(friend_foods)
##我们在不提供任何索引的情况下从my_friends提取切片再存储到friend_foods中,
#friend_foods=my_foods
##如果直接进行赋值的话就不会创建两个列表,他只是让新变量friend_foods关联到旧的列表里,所以这两个变量都指向同一个列表,
my_foods =['pizza','falafel','carrot cake']
friend_foods=my_foods    ##如果直接进行赋值的话
friend_foods.append("apple")
print("my favourite foods are: ")
print(my_foods)
print("\nmy friends' favourite foods are: ")
print(friend_foods)
##最后输出的my 和friend的变量都会被改变

##动手试一试
#4-10 切片
my_foods =['ice-cream','pizza','falafel','carrot cake','apple']
print("\nThe first three words in the list are: ")
print(my_foods[:3])
print("\nThree items from the middle of the list are: ")
print(my_foods[1:4])
print("\nThe last three words in the list are: ")
print(my_foods[-3:])
#4-11 你的披萨和我的披萨
pizaas=['liu','zhi','pei']
friend_pizzas=pizaas[:]
pizaas.append("bu")
friend_pizzas.append("mang")
for friend_pizza in friend_pizzas:
    print(friend_pizza)
print("\n")
for pizza in pizaas:
     print(pizza)

#4-12 使用多个循环
my_foods =['pizza','falafel','carrot cake']
for food in my_foods:
    print(food)

#4.5 元组
#4.5.1 定义元祖
##不可变的列表称为元组
##用圆括号定义元组
dimensions=(200,50)
print(dimensions[0])
print(dimensions[1])
#尝试修改元组里的值,
#dimensions[0]=250
#错误提示:TypeError: 'tuple' object does not support item assignment

#4.5.2 遍历元组中的所有值
for dimension in dimensions:
    print(dimension)

#修改元组变量
dimensions=(250,25)
for dimension in dimensions:
    print(dimension)
## 虽然不可以修改元素,但是可以给存储元组的变量赋值,所以可以重新定义整个元组

#4.6 设置代码格式
#4.6.1  格式设置指南
#4.6.2  缩进
## 建议四个空格,
#4.6.3  行长
##建议不超过80个字符,
#空行
##空行不影响代码的运行,但是会影响他的可读性
#4.6.5 其他格式设置指南

GOOD LUCK!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值