给定一个 0 到 N 连续整数的列表,其中 N 是偶数,例如A = [0 , 1 , 2 , 3 , 4] 我正在寻找一个列表理解,即 [a for a in A] 类型,用于创建另一个list 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]
列表理解构建子列表列表:
[[x, x] if x % 2 == 1 else [x] for x in a] # => [[0], [1, 1], [2], [3, 3], [4]]
itertools.chain 调用只是flatten a list 的众多方法之一。在 Python 中。
