【Python自学笔记】第4章:操作列表

第四章 操作列表

4.1 for循环引用列表的内容

thanks = ['father', 'mother']
for thank in thanks:
    print('I want to thank my ' + thank.title() + '!')
    print('Thank you very much,' + thank.title() + '!\n')
print('Thanks all of you!')

结果:
I want to thank my Father!
Thank you very much,Father!

I want to thank my Mother!
Thank you very much,Mother!

Thanks all of you!

注意:For循环语句后面的冒号容易遗漏,缩进了的内容均代表循环内的指令,要特别注意缩进的正确性。

4.2 数字列表的操作

4.2.1 使用range()创建数字列表

numbers = list(range(1,6))
print(numbers)

结果:
[1, 2, 3, 4, 5]

使用函数range()时,还可指定步长。例如,下面的代码打印1~10内的偶数:

even_numbers = list(range(2,11,2))
print(even_numbers)

结果:
[2, 4, 6, 8, 10]

在这个示例中,函数range()从2开始数,然后不断地加2(这个2称为步进的步长),直到达到或超过终值。

4.2.2 平方数字列表的集中写法

完整写法:

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

结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

这种写法代码结构清晰,容易看懂,但是代码较长。

部分简化写法:

squares = []
for value in range(1,11):
    squares.append(value**2)
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]

代码缺乏层次感,读者需要解读代码执行的顺序,不适宜逻辑关系复杂的代码书写。

4.2.3 简单的数字列表运算

numbers = list(range(1,11))
print(min(numbers))
print(max(numbers))
print(sum(numbers))

结果:
1   #列表最小值
10  #列表最大值
55  #列表求和

4.3 使用列表的一部分

4.3.1 列表切片

players = ['A', 'B', 'C', 'D', 'E']
print(players[1:3])
print(players[:3])
print(players[1:])

结果:
['B', 'C']
['A', 'B', 'C']
['B', 'C', 'D', 'E']

观察以上三个切片的输出结果,总结出表达式的含义。

列表切片的使用与列表的使用是一致的。

4.3.2 列表复制

players = ['A', 'B', 'C', 'D']
players_m = players     #镜像列表,感觉这没啥意义
players_f = players[:]  #复制列表
players.append('E')
print(players_m)
print(players_f)

结果:
['A', 'B', 'C', 'D', 'E']
['A', 'B', 'C', 'D']

我们分别对原列表创建了一个镜像列表和复制列表,然后对原列表增加了一个元素。镜像的新列表也跟随增加了一个新元素。复制的列表则没有增加,它变成了一个独立的列表。

4.4 元组

一系列不可修改的元素,就叫元组

players = ('A', 'B')
print(players)
players = ('C', 'D', 'E')
print(players)

结果:
('A', 'B')
('C', 'D', 'E')

虽然元组不能修改其中的元素,但是可以给整个元组重新赋值。

元组的使用跟列表是一样的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值