Python学习记录3:基础知识-操作列表、元组


本篇博客为 python学习记录系列博客内容,欢迎访问 python速成博客导航

👉不会吧,都2021年了还有人不会Python?三天急速入门教程!👈


一、操作列表

1、关于列表的基本操作:
  1. 遍历整个列表
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!")
注意:print前的缩进非常重要!(python对缩进与大小写要求严格!)
	 推荐列表名使用复数形式,临时变量用单数。
  1. 避免缩进错误
    1.python根据缩进(indent)来判断与前一个代码行的关系(与空行无关);
    2.如上述代码,循环体内的代码总是有着相同的缩进程度,最后一行便不是循环体内成员;
    3.多余的或缺少缩进,既有可能报错也可能造成逻辑错误(一定要注意),且一定要记得不要忘记冒号。
    
  2. 使用range()函数
    range()函数能产生一系列的数字:
for value in range(1,5):
    print(value)
这里只打印1~4,因为range()让python从指定的第一个值开始数,并在达到指定的第二个值后停止,不包含第二个值(这里是5)。
  1. 使用list()、range()创建数字列表
    numbers = list(range(1,6))
    print(numbers)
    输出:[1,2,3,4,5]
    使用range()时还可以指定步长:numbers = list(range(2,11,2))从2开始,到11停止(不含11),每次+2
    输出numbers:[2,4,6,8,10]
  2. 对数字列表进行简单统计
    numbers = list(range(1,10**6))
    1.列表中最小值:min(numbers)
    2.列表中最大值:max(numbers)
    3.列表中数总和:sum(numbers)
    
  3. 列表解析
    列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。
#按照先前办法打印一个平方数字列表
squares = []
for value in range(1, 11):
    square = value**2
    squares.append(square)

print(squares) #输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

#使用列表解析
squares = [value**2 for value in range(1,11)]
print(squares) #输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
要使用这种语法,首先指定一个描述性的列表名,如squares;然后,指定一个左方括号,并定义一个表达式,用于生成要存
储到列表中的值。在这个示例中,表达式为value**2,它计算平方值。接下来,编写一个for循环,用于给表达式提供值,再
加上右方括号。在这个示例中,for循环为for value in range(1,11),它降值1~10提供给表达式value**2,
注意:这里for语句末尾没有冒号。
2、使用列表的一部分:
  1. 切片
    切片指定要使用的第一个元素索引最后一个元素的索引+1(不要忘记列表是从0起的)。
players = ['charles', 'martina', 'michael', 'florence', 'eli'] 
#输出第1~3个元素
print(players[0:3])
#输出第3~4个元素 
print(players[2:4])
#输出从开头~第3个元素
print(players[:3])
#输出从第3~末尾个元素
print(players[2:])
#输出从倒数第3~末尾个元素
print(players[-3:])
  1. 遍历切片
players = ['charles', 'martina', 'michael', 'florence', 'eli'] 
for player in players[:3]:
    print(player.title())
#输出:Charles Martina Michael
  1. 复制列表
my_foods = ['pizza', 'falafel', 'carrot cake'] 
#定义一个 朋友喜欢的食物 列表,把 我喜欢的 复制过去
#[:]表示从第一个元素到最后一个元素,一定要这样才是复制列表
friend_foods = my_foods[:] 

my_foods.append('cannoli') 
friend_foods.append('ice cream') 

print("My favorite foods are:")
print(my_foods) #输出:['pizza', 'falafel', 'carrot cake', 'cannoli']

print("\nMy friend's favorite foods are:")
print(friend_foods) #输出:['pizza', 'falafel', 'carrot cake', 'ice cream'] 与上结果不同
注意:这里不能写成:friend_food = my_food
这样只是将新变量friend_food关联到包含在my_food中的列表,一次这两个列表都指向同一个列表!
所以当把'cannoli'添加到my_food中时,它也将出现在friend_food中!

二、元组

  1. 元组:Python将不能修改的值称为不可变的,而不可变的列表被称为元组
  2. 定义元组:dimensions = (200,50) 与列表类似,只是方括号变圆括号
  3. 注意
    1. 试图修改元组内元素的行为是不被允许的(会报错!);
    2. 遍历操作与列表相同;
    3. 虽然我们无法修改元组元素的值,但我们可以重新定义元组:
      dimensions = (200,50)
      dimensions = (400,100)
      这样第一次的定义失效,dimensions元素为400,100。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值