【菜鸟学Python】列表推导式
2020-12-13 05:06
标签:推导式 输出 表达式 div 除了 code 迭代 菜鸟 之间 [表达式 for 变量 in 列表] 举例: 打印1到10之间的数字 常规操作: 列表推导式: 举例: 打印1到10之间的偶数 常规打印的方法 使用列表推导式的方法 练习题: 1、使用推导式打印1到100间奇数 2、打印出1-100之间除了含7和7的倍数之外的所有数字 3、使用推导式打印1到999之间的水仙花数 【菜鸟学Python】列表推导式 标签:推导式 输出 表达式 div 除了 code 迭代 菜鸟 之间 原文地址:https://www.cnblogs.com/liduo0413/p/11130867.html列表推导式
推导式格式
[表达式 for 变量 in 列表 if 条件]
第一种语法:
首先迭代列表中所有内容,每一次迭代,都把列表中相应内容放到变量中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表# 使用for打印
for i in range(1, 10):
print(i)
# 输出如下:
for i in range(1, 11):
print(i)
1
2
3
4
5
6
7
8
9
10# 推导式格式[表达式 for 变量 in 列表]
In [8]: [i for i in range(1, 11)]
Out[8]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]第二种语法:
加入了判断语句,只有满足条件的内容才把列表中相应内容放到变量中,再在表达式中应用该变量的内容,最后用表达式的计算值生成一个列表。In [9]: for i in range(1, 11):
...: if i % 2 == 0:
...: print(i)
...:
2
4
6
8
10
# 条件推导式格式 [表达式 for 变量 in 列表 if条件]
In [10]: [i for i in range(1, 11) if i % 2 == 0]
Out[10]: [2, 4, 6, 8, 10]
# 条件推导式格式 [表达式 for 变量 in 列表 if条件]
In [12]: number = [i for i in range(1, 101) if i % 2 != 0]
In [13]: print(number)
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
# 条件推导式格式 [表达式 for 变量 in 列表 if条件]
In [14]: number = [i for i in range(1, 99) if (i % 7) == 0 or (i % 10) == 7 or (i // 10) == 7]
In [15]: print(number)
[7, 14, 17, 21, 27, 28, 35, 37, 42, 47, 49, 56, 57, 63, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 84, 87, 91, 97, 98]# 条件推导式格式 [表达式 for 变量 in 列表 if条件]
In [16]: number = [i for i in range(1, 1000) if ((i // 100) ** 3 + (i % 100 // 10) ** 3 + (i % 10) ** 3) == i]
In [17]: print(number)
[1, 153, 370, 371, 407]