CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
jackfrued

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: jackfrued/Python-100-Days
Path: blob/master/Day01-15/code/Day07/list3.py
Views: 729
1
"""
2
生成列表
3
- 用range创建数字列表
4
- 生成表达式
5
- 生成器
6
7
Version: 0.1
8
Author: 骆昊
9
Date: 2018-03-06
10
"""
11
12
13
# 生成Fibonacci序列的生成器
14
def fib(n):
15
a, b = 0, 1
16
for _ in range(n):
17
a, b = b, a + b
18
yield a
19
20
21
def main():
22
# 用range创建数值列表
23
list1 = list(range(1, 11))
24
print(list1)
25
# 生成表达式
26
list2 = [x * x for x in range(1, 11)]
27
print(list2)
28
list3 = [m + n for m in 'ABCDEFG' for n in '12345']
29
print(list3)
30
print(len(list3))
31
# 生成器(节省空间但生成下一个元素时需要花费时间)
32
gen = (m + n for m in 'ABCDEFG' for n in '12345')
33
print(gen)
34
for elem in gen:
35
print(elem, end=' ')
36
print()
37
gen = fib(20)
38
print(gen)
39
for elem in gen:
40
print(elem, end=' ')
41
print()
42
43
44
if __name__ == '__main__':
45
main()
46
47