2024-04-26 15:02:56 发布
网友
在python中,如果生成的语法是可读的,那么是否可以像下面这样作为一个单行程序来执行?你知道吗
d = dict((i,i+1) for i in range(10)) d.update((i,i+2) for i in range(20,25))
这个怎么样:
d = dict(dict((i,i+1) for i in range(10)), **dict(((i,i+2) for i in range(20,25))))
结果:
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10, 20: 22, 21: 23, 22: 24, 23: 25, 24: 26}
>>> from itertools import chain >>> dict(chain(((i,i+1) for i in range(10)), ((i,i+2) for i in range(20,25)))) {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10, 20: 22, 21: 23, 22: 24, 23: 25, 24: 26}
@jamylak的回答很好,应该这样做。无论如何,对于这个特定的问题,我可能会这样做:
d = dict((i, i+1) if i < 10 else (i, i+2) for i in range(25) if i < 10 or i >= 20)
这个怎么样:
结果:
@jamylak的回答很好,应该这样做。无论如何,对于这个特定的问题,我可能会这样做:
相关问题 更多 >
编程相关推荐