版权声明: https://blog.csdn.net/u011286584/article/details/82791990
定期整理点滴,完善自己,今后给洋哥挣钱,带她过好生活,陪伴着让我的小宝贝发自内心爱上笑,加油吧
列表推导式提供从序列创建列表的简单途径,e.g.,
list = [2, 3, 4]
print([3 * a for a in list])
输出结果:
[6, 9, 12]
改变输出的格式
print([[a, a * 3] for a in list])
输出结果:
[[2, 4], [3, 9], [4, 12]]
也可以辅助 if 语句用作过滤器:
print([3 * a for a in list if a > 1])
print([3 * a for a in list if a > 3])
print([3 * a for a in list if a < 2])
输出结果:
[6, 9, 12]
[12]
[]
也可以逐个调用某个方法:
print(' .tab'.strip())
freshfruit = [' banana', ' loganberry', ' passion fruit']
print([weapon.strip() for weapon in freshfruit])
输出结果:
‘tab’
[‘banana’, ‘loganberry’, ‘passion fruit’]
嵌套调用:
m = [2, 4, 6]
n = [4, 3, 9]
print([a + b for a in m for b in n])
print([a * b for a in m for b in n])
print([m[i] + n[i] for i in range(len(n))])
print([str(round(355 / 133, i)) for i in range(1, 6)])
其中 round()
按四舍五入返回指定的小数位数
输出结果:
[6, 5, 11, 8, 7, 13, 10, 9, 15]
[8, 6, 18, 16, 12, 36, 24, 18, 54]
[6, 7, 15]
[‘3.1’, ‘3.14’, ‘3.142’, ‘3.1416’, ‘3.14159’]
嵌套列表:
定义 3
4 矩阵 matrix
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[10, 11, 12, 13]
]
要将 3 4 矩阵转换为 4 3矩阵可以
print([[row[i] for row in matrix] for i in range(4)])
输出结果:
[[1, 5, 10], [2, 6, 11], [3, 7, 12], [4, 8, 13]]
这种简化方法等价于:
transposed = []
for i in range(4):
transposed.append([row[i] for row in matrix])
print(transposed)
也等价于:
transposed = []
for i in range(4):
transposed_rows = []
for row in matrix:
transposed_rows.append(row[i])
transposeds.append(transposed_rows)
print(transposed)
输出结果完全一样,可以看出列表推导式能够简化书写代码,让程序整体更简洁
复习嵌套:
写一个生成
大小矩阵
form random import randint
def mkmatrix(m, n):
return [[randint(1, 100) for i in range(n)] for i in range(m)]
>or
def mkrandlist(start, stop, length):
if length >= 0:
length = int(length)
else:
return -1
start, stop = (int(start), int(stop)) if start <= stop else (int(stop), int(start))
randint_list = []
for i in range(length):
randint_list.append(None)
randint_list[i] = randint(start, stop)
return randint_list
def mkmatrix(m, n):
return [mkrandlist(1, 100, n) for i in range(m)]
编写的 mkrandlist()
方法值得回味
今天是个特殊的日子,每一天都要快乐,有我们的快乐时代呀
2018.09.20 于广州