遍历整个列表加粗样式
遍历列表的所有元素,对每一个元素进行相同的操作,是我们常常所需要的。在python中可使用for()循环。
假如我们需要将一个列表中的手机品牌一一打印,我们可以分别获取手机品牌的名字。如果数据特别的,对我们的操作要求量很大,而且容易输入错误,但使用for循环,python可以帮你解决这些问题。
例如:
shouji=['iphone','huawei','xiaomi','vivo','oppo']
for shoujis in shouji:
print(shoujis)
#运行结果
iphone
huawei
xiaomi
vivo
oppo
深入研究循环
循环这一概念非常重要,它是计算机自动重复完成工作的常见方法之一。
python首先读取第一行命令 for shoujis in shouji: 这让python获取到列表shouji的第一个值,iphone,然后下一行 print(shoujis),于是打印出读取出的第一个值 iphone ,如此循环。
在for循环中执行更多命令
在for循环中可对每一个元素执行任意操作。下列展示对没一部手机打印一条消息
shouji=['iphone','huawei','xiaomi','vivo','oppo']
for shoujis in shouji:
print(f"{shoujis.title()} it is a good phone")
#运行结果
Iphone it is a good phone
Huawei it is a good phone
Xiaomi it is a good phone
Vivo it is a good phone
Oppo it is a good phone
在for循环后面,每一个缩进的代码都是循环的一部分。将针对列表的每一个值都执行一次。
在for循环结束后执行一些操作
在for循环后面,没有缩进的代码只执行一次,不会重复执行。现在操作一下对于所有手机予以五行好评,代码不缩进。
shouji=['iphone','huawei','xiaomi','vivo','oppo']
for shoujis in shouji:
print(f"{shoujis} it is a good phone")
print("我给出五星好评")
#运行结果
iphone it is a good phone
huawei it is a good phone
xiaomi it is a good phone
vivo it is a good phone
oppo it is a good phone
我给出五星好评
开始编写正确缩进代码时,需要注意常见的缩进错误,对于for循环部分且属于组成循环的代码行,一定要缩进!有时候忘记缩进代码会运行且不报告错误,结果很可能出乎你的意料。
使用函数range()
range()可以轻松的帮助你生产一系列数
例如:
for value in range(1,5):
print(value)
#运行结果
1
2
3
4
上述代码好像打印1到5,实际并不打印5。这是编辑语言中常见的差一行行为的结果。如果需要打印5,则需要使用
for value in range(1,6):
调用函数**range()**时,也可指定打印一个参数,他将从0开始。
使用range()创建数字列表
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。如果将range()作为list()的一个参数,输出的将时数字列表。
numbers = list(range(1,6))
print(numbers)
#运行结果
[1, 2, 3, 4, 5]
使用range函数也可指定步长
numbers = list(range(1,6,2))
print(numbers)
#运行结果
[1, 3, 5]
使用range()依然可以创建一些你想要的数集,例如得出在0——10中偶数的平方的数集
squares = []
for numbers in range(0,11,2):
square = numbers ** 2
squares.append(square)
print(squares)
#运行结果
[0, 4, 16, 36, 64, 100]
切片
要创建切片,可指定要使用的第一个和最后一个元素的索引。与函数range()一样python到达到达第二个索引前截至。
你可以生产列表的任意子集,如果想提取列表的第1,2,3个数,可将起始索引指定为0,终止索引指定为3。
如果起始没有指定索引那么python将在开头开始提取
如果终止没有指定索引那么python将至结尾结束
value = list(range(1,11))
print(value[0:3])
print(value[4:])
print(value[:4])
#运行结果
[1, 2, 3]
[5, 6, 7, 8, 9, 10]
[1, 2, 3, 4]
元组
列表非常适合用于存储在程序运行期间可能变化的数据集。列表时可以修改的。但有时候需要创建一系列不可修改的元素,元组可以满足这种需求。
元组看起来很像列表,使用圆括号而不是中括号来标识。定义元组后,可以使用索引来访问元素,就像访问列表一样。
下例操作一下元组及尝试修改元组。
name = ('xiao','xiong')
print(name[0])
print(name[1])
name[1]='old'
#运行结果
Traceback (most recent call last):
File "C:\Users\Desktop\python\py1.py", line 195, in <module>
name[1]='old'
TypeError: 'tuple' object does not support item assignment
xiao
xiong
由此可见,如果对元组内的数据进行更改,则会出现报错。
按照列表访问的方法可以正常访问。
遍历元组中的所有值
像列表一样,可以使用for循环来遍历元组中的所有值
numbers = (1,2,3,4,5,6)
for number in numbers:
print(number)
#运行结果
1
2
3
4
5
6
修改元组变量
虽然不能修改元组的元素,但可以存储元组的变量赋值。因此可以遍历整个元组:
numbers = (1,2,3,4,5,6)
print("original numbers")
for number in numbers:
print(number)
numbers = (11,22,33,44,55,66)
print("change numbers")
for number in numbers:
print(number)
#运行结果
original numbers
1
2
3
4
5
6
change numbers
11
22
33
44**加粗样式**
55
66
首先定义一个元组,并将其存储的数据打印出来,接下来将一个新元组关联到变量numbers,然后打印新的数据。这一次可以成功编译,因为给元组变量重新赋值是合法的。