@[Python 基础知识学习_列表操作]
1.1 遍历列表
作用:遍历列表,对每个元素执行相同操作(用for循环)
例子:数字列表中,进行统计运算;网站中,显示文章列表中的每个标题;
magicians = ['alice','david','carolina']
for magician in magicians:
print(magician)
结果:
alice
david
carolina
"""
描述
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
Python 2.3. 以上版本可用,2.6 添加 start 参数。
语法
以下是 enumerate() 方法的语法:
enumerate(sequence, [start=0])
参数
sequence -- 一个序列、迭代器或其他支持迭代对象。
start -- 下标起始位置的值。
返回值
返回 enumerate(枚举) 对象。
"""
for i,magician in enumerate(magicians):
print(i,magician)
结果:
0 alice
1 david
2 carolina
1.2 在for循环中执行操作
magicians = ['alice','david','carolina']
for i,magician in enumerate(magicians,start=1):
print(i,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!")
结果:
1 Alice, that was a great trick!
I can't wait to see your next trick, Alice
2 David, that was a great trick!
I can't wait to see your next trick, David
3 Carolina, that was a great trick!
I can't wait to see your next trick, Carolina
Thank you , everyone. That was a great magic show!
1.3 创建数值列表
1.3.1 函数range(m,n,step)
range()函数返回的是一个对象
用*可将对象解析出来
m:起始值,默认为0
n: 终止值,n大于m
step: 步长(可以理解为:数列中的公差d)
注意m 可以不指定
生成 m 到 n 之间的数字
若 m 大于 n 输出值为空
for value in range(1,5):
print(value)
结果:
1
2
3
4
如果输出结果不符合预期,尝试将指定的值加1或减1
1.3.2 用range()函数创建数字列表、元组、列表
numbers_list = list(range(1,5)) # 数字列表
print(numbers_list)
numbers_tuple = tuple(range(1,5)) # 数字元组
print(numbers_tuple)
numbers_dict = {*range(1,5)} # 数字字典 * 表示解析range函数生成的对象
print(numbers_dict)
结果:
[1, 2, 3, 4]
(1, 2, 3, 4)
{1, 2, 3, 4}
生成偶数数字列表
even_numbers = list(range(2,11,2))
print(even_numbers)
结果
[2, 4, 6, 8, 10]
将列表中值平方
注意临时变量为整形,不能使用append方法,必须建立一个列表将临时变量添加(append或者insert)到列表
squares = []
for value in range(1,11,2):
square = value**2
squares.append(square)
print(squares)
squares = []
for value in range(1,11,2):
square = value**2
squares.insert(0,square)
print(squares)
结果:
[1, 9, 25, 49, 81]
[81, 49, 25, 9, 1]
# 建议数据量大的情况下,使用append添加值
不使用临时变量的写法
squares = []
for value in range(1,11,2):
squares.append(value**2)
print(squares)
结果:
[1, 9, 25, 49, 81]
1.3.3 对数字列表执行简单计算
digits = [1,2,3,4,5,6,7,8,9,0]
min(digits) # 返回值为值
max(digits)
sum(digits)
结果:
Out[76]: 0
Out[77]: 9
Out[78]: 45
1.3.4 列表解析(也叫列表推导式)
返回的是一个列表
当返回值需要一个列表时,采用列表推导式
squares = [value**2 for value in range(1,11,2)]
print(squares)
结果:
[1, 9, 25, 49, 81]