不对 for 循环做过多的前言解释了,逻辑和 Shell 一样,直接学语法就可以了。

通过 for 循环来遍历列表内的元素

格式:
for i in 列表:
    执行动作

还以水果为例

fruits = ['banana', 'orange', 'apple']
for fruit in fruits:
    print('I like to eat ' + fruit.title())

print('\n循环结束了')
---
# 运行结果
I like to eat Banana
I like to eat Orange
I like to eat Apple

循环结束了

其中原理不再过多赘述。

与 Shell 不一样的是使用格式,还有就是没有结束判断,只要缩进不同了,就不在循环之内了,从这里可以看出 Python 是很重视缩进的。

创建数字列表

需要存储一组数字的原因有很多,例如,在游戏中,需要跟踪每个角色的位置,还可能需要跟踪玩家的几个最高得分。在数据可视化中,处理的几乎都是由数字(如温度,巨力,人口数量,经度和纬度等)组成的集合

列表非常适合用于存储数字集合,而Python提供了很多工具,可帮助你高效地处理数字列表。明白如何有效的使用这些工具后,几遍列表包含数百万个元素,你编写的代码也能运行的很好。

数字范围函数range()

函数 range() 可以生成指定范围内的整数列表

for value in range(1,5):
    print(value)
---
# 运行结果
1
2
3
4

按照正常思路上述代码的输出应该是1,2,3,4,5,但实际不会这样来输出,这是 python 的一种规则,要输出1,2,3,4,5,需要用到的范围是 range(1,6)

list() 创建数字列表

使用 range() 是无法输出为列表的

value = range(1,5)
print(value)
---
# 运行结果
range(1, 5)

使用函数 list() 可以将 range() 的结果转化为列表

value = list(range(1,5))
print(value)
---
# 运行结果
[1, 2, 3, 4]

range() 函数还可以指定步长,如列表中只需要偶数,从 2 开始到 10,每隔 2 个数字输出一次

value = list(range(2,10,2))
print(value)
---
# 运行结果
[2, 4, 6, 8]

使用函数range()几乎能创建任何需要的数字集,例如,如何创建一个列表,其中包含前10个整数的平方,在Python中,两个星号(**)表示乘方运算。

values = []
for num in range(1,11):
    values.append(num**2)
print(values)
---
# 运行结果
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

对数字列表的统计计算

min():列表最小值

max():列表最大值

sum():列表总和

nums = list(range(1,11))
print(min(nums))
print(max(nums))
print(sum(nums))
---
# 运行结果
1
10
55

列表解析

前面在计算列表值的平方时,用到了空列表、for循环等来达到要求,而列表解析让你只需编写一行代码就能生成这样的列表。

列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。

values = [value**2 for value in range(1,11)]
print(values)
---
# 运行结果
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

列表切片

处理列表的部分元素——Python称之为切片

要对列表的部分连续的元素进行操作,要使用到索引来进行选定部分元素

fruits = ['apple', 'pear', 'orange', 'banana', 'core']
print (fruits[1:4])
---
# 运行结果
['pear', 'orange', 'banana']

range() 的思路一致,1:4 表示索引0到索引4(不包含4)

[:4]:从0到4

[2:]:从2到结尾

[-3:]:表示最后3个元素

使用 for 遍历切片

fruits = ['apple', 'pear', 'orange', 'banana', 'core']
for fruit in fruits[:3]:
    print(fruit)
---
# 运行结果
apple
pear
orange

复制列表

fruits = ['apple', 'pear', 'orange', 'banana', 'core']
fruit_s = fruits[:]
print(fruit_s)
---
# 运行结果
['apple', 'pear', 'orange', 'banana', 'core']

评论




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0