Python基础总结(九)之推导式
文章目录
- 一、列表推导式
- 1.1 列表推导式的格式
- 1.2 列表推导式的注意事项
- 1.3 列表推导式示例
- 二、 字典推导式
- 2.1 字典推导式格式
- 2.2 字典推导式注意事项
- 2.3 字典推导式示例
- 三、 元组推导式
- 3.1 元组推导式格式
- 3.3 元组推导式示例
Python中的推导式有列表推导式,字典推导式和元组推导式,其中列表推导式使用的频率较高,其次为字典,元组推导式不经常用。
推导式是Python中用简明扼要的方式创建数据结构的方法,只需一行就可以完成多行的任务。
一、列表推导式
列表推导式就是输出的类型为列表形式的推导式。
1.1 列表推导式的格式
[变量 for 变量 in 可迭代对象]
示例:创建一个1-10的列表
原始的方法:
list_one = []
for i in range(1, 11):list_one.append(i)
print(list_one)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
上述的创建方法需要三行,才能完成创建。
使用列表推导式:
list_one = [i for i in range(1, 10)]
print(list_one)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
只需一行就可以完成列表的创建。
示例:求1-10的平方的列表
list_one = [i*i for i in range(1, 10)]
print(list_one)
# [1, 4, 9, 16, 25, 36, 49, 64, 81]
1.2 列表推导式的注意事项
1、推导式中的in后面一定是可迭代的对象。
2、推导式的执行顺序是从左到右,语句之间为嵌套关系。
1.3 列表推导式示例
示例1:求1-10之间的奇数
list_one = [i for i in range(1, 10) if i % 2 != 0]
print(list_one)
# [1, 3, 5, 7, 9]
这篇文章中也用到了列表推导式,可以参考下:python爬虫之爬取网站小说
二、 字典推导式
字典推导式同列表推导式大致相同,不同的是字典推导式是以键值对形式出现
2.1 字典推导式格式
{键:值 for 变量 in 可迭代对象}
2.2 字典推导式注意事项
1、字典中的键是唯一的,不可重复。
2、字典中的值不是唯一的,可以重复
2.3 字典推导式示例
lt = ["tom", "jerry", "john", "merry", "ali"]
dt = {"name"+str(lt.index(x)+1): x for x in lt}
print(dt)
lt = ["tom", "male", "170"]
data = ["name", "gender", "height"]
dt = {x: y for x, y in zip(data, lt)}
print(dt)
# {'name': 'tom', 'gender': 'male', 'height': '170'}
三、 元组推导式
元组推导式同列表推导式一样,只不过将方括号换成圆括号。
3.1 元组推导式格式
(变量 for 变量 in 可迭代对象)
3.3 元组推导式示例
tp = (i for i in range(1, 10))
print(tuple(tp))
# (1, 2, 3, 4, 5, 6, 7, 8, 9)
tp = (i for i in range(1, 10) if i % 2 == 0)
print(tuple(tp))
# (2, 4, 6, 8)