利用for循环来遍历列表
循环是让计算机自动完成重复工作的常见方式之一
magicians = ['alice','david','carolina']
>>> for magician in magicians: #依次循环获取列表maicians中的值 并存储到变量magician中
print(magician)
alice
david
carolina
在循环中还可以对每个元素进行执行操作
>>> magicians = ['alice','david','carolina']
>>> for magicain in magicians:
print(magician.title()+",that was a great trick!")
Carolina,that was a great trick!
Carolina,that was a great trick!
Carolina,that was a great trick!
在for循环中可以包含多条代码,例如在 for magicain in magicians后面,每个缩进的代码行都是循环的一部分,对列表中的每个值都执行一次。
注意:避免缩进错误,python根据缩进来判断代码行前一行代码行的关系,通过缩进能让代码更易读,简单说,需要缩进来使代码整洁而结构清晰。其次不要忘记for语句后面要加冒号来告诉python,下一行是循环的第一行。
创建数字列表
使用range()函数
>>> for value in range(1,5):
print(value)
1
2
3
4
在此例中,range()只是打印数字1-4,这是在编程语言中经常看到的差一行为的结果。
使用range()创建数字列表
在前例中,我们打印了一系列数字,现在利用list()函数将这些数字转换为一个列表。
>>> numbers = list(range(1,6))
>>> print(numbers)
[1, 2, 3, 4, 5]
使用range()函数还可以指定步长,例如打印1-10内的偶数:
>>> even_numbers = list(range(2,11,2))#函数从2开始数,不断加2,直到达到或超过终值(11)
>>> print(even_numbers)
[2, 4, 6, 8, 10]
在创建一个包括前十个整数的平方的列表:
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]
列表解析可以简化代码,将for循环和创建新元素的代码合并成一行,并自动附加新元素:
>>> 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循环,用于给表达式提供值,再加上右括号。
使用列表的一部分
切片
处理部分元素时
>>> player = ['charles','martina','michael','florence','eli']
>>> print(player[0:3])
['charles', 'martina', 'michael']
>>> print(player[:4])#从第一个数字开始,第三个终止
['charles', 'martina', 'michael', 'florence']
>>> print(player[1:])#从第二个数字开始,最后一个结束
['martina', 'michael', 'florence', 'eli']
>>> print(player[-3:])#倒数第三个开始,最后一个结束
['michael', 'florence', 'eli']
遍历切片:
players = ['charles','martina','michael','florence','eil']
print("Here are the first three players on my team:")
for player in players[:3]:
print(player.title())
Here are the first three players on my team:
Charles
Martina
Michael
复制列表:
my_foods = ['pizza','falafel','carrot cake']
friend_foods = my_foods[:]
print("my favorite foods are:")
print(my_foods)
print("\nMy friend's favorite food are:")
print(friend_foods)
my favorite foods are:
['pizza', 'falafel', 'carrot cake']
My friend's favorite food are:
['pizza', 'falafel', 'carrot cake']
在各列表中添加元素,注意在复制时不能丢掉[:],否则就不能得到两个相同的列表:
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)
print("\nMy friend's favorite food are:")
print(friend_foods)
my favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli']
My friend's favorite food are:
['pizza', 'falafel', 'carrot cake', 'ice cream']
关于元组
元组看起来犹如列表,但使用圆括号而不是方括号来标识,并且元组中的值是不可修改,也就是说不可变的列表叫做元组
dimensions = (200,50)
print(dimensions[0])
遍历元组:
>>> dimensions = (200,50)
>>> for dimension in dimensions:
print(dimension)
虽然不能修改元组中的元素,但可以给存储元组的变量赋值:
dimensions = (200,50)
print("original dimensions:")
for dimension in dimensions:
print(dimension)
dimension = (400,100)
print("\nModified dimension:")
for dimension in dimensions:
print(dimension)
original dimensions:
200
50
Modified dimension:
200
50
后记:
前期因为练车,最近因为过年疫情,已经懒惰了一段时间,没有做自己热爱的事情,学习自己感兴趣的东西,没有好好把敲代码继续的进行下去,也开始为工作焦虑,甚至陷入其中,开始give up,这个过程中逐渐开始失去人生的方向,忘记理想长什么样子了,但所有的焦虑都来自无聊的时光,自律的人永远在前进,即使今天遇到麻烦,他也会思考,去控制自己的行为,改变现状,继续前进。
切记不要懒惰,不要轻易放弃!脑袋和身体都要动起来,自律即强大,目标即远方。不要让别人告诉你,你做这个不行做那个不行,make your own decision,and protect your dream!