list3.py 785 B

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