>>> [2*x for x in range(5)] #
[0, 2, 4, 6, 8]
>>> [2*x for x in range(5) if x%2==0] # if过滤
[0, 4, 8]
>>> [2*x if x%2==0 else 0.5*x for x in range(5)] # if过滤+更改
[0, 0.5, 4, 1.5, 8]
>>> [(x,y) for x in range(5) for y in range(5)] # 笛卡尔
[(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (3, 0), (3, 1), (3, 2), (3, 3), (3, 4), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4)]
>>> dict={'a':1,'b':2, 'c':3, 'd':4, 'e':5}
>>> [(x,y) for x,y in dict.items()] #根据字典生成
[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
python 列表推导
最新推荐文章于 2024-06-26 20:27:01 发布