本文共 867 字,大约阅读时间需要 2 分钟。
列表推导是一种从其他列表创建列表的方式
>>> [x*x for x in range(10)][0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
在列表推导中增加if条件语句
>>> [x*x for x in range(10) if x %3 == 0][0, 9, 36, 81]>>>
还可以添加更多的for
>>> [(x,y) for x in range(3) for y in range(4)][(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3)]>>>
使用for时也可以添加if语句
>>> girls = ['alice', 'bernice', 'clarice']>>> boys = ['chris','arnold', 'bob']>>> [b+'+'+g for b in boys for g in girls if b[0]==g[0]]['chris+clarice', 'arnold+alice', 'bob+bernice']>>>
字典推导
>>> squares = {i:'{} squared is {}'.format(i, i**2) for i in range(10)}>>> squares.items()dict_items([(0, '0 squared is 0'), (1, '1 squared is 1'), (2, '2 squared is 4'), (3, '3 squared is 9'), (4, '4 squared is 16'), (5, '5 squared is 25'), (6, '6 squared is 36'), (7, '7 squared is 49'), (8, '8 squared is 64'), (9, '9 squared is 81')])>>>
转载地址:http://djmii.baihongyu.com/