鉴于名单0,以N连续的整数,其中N的偶数,如A = [0 , 1 , 2 , 3 , 4]我在寻找一个列表理解,即类型[a for a in A],创建另一个列表B = [0 , 1 , 1 , 2 , 3 , 3 , 4]是重复输入列表中的奇数,A.
这是一个(有点难看)解决方案,列表理解:
a = range(5)
list(itertools.chain(*[[x, x] if x % 2 == 1 else [x] for x in a]))
# => [0, 1, 1, 2, 3, 3, 4]
Run Code Online (Sandbox Code Playgroud)
列表推导构建了一个子列表列表:
[[x, x] if x % 2 == 1 else [x] for x in a] # => [[0], [1, 1], [2], [3, 3], [4]]
Run Code Online (Sandbox Code Playgroud)
该itertools.chain调用只是在Python中展平列表的众多方法之一.
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |