我试图打印一个包含2个位于索引0和1的列表。一个列表包含偶数,另一个包含奇数。 另外,我想通过列表理解来做到这一点,并且仅使用一个列表变量。
even_odd = [[],[]]
even_odd = [even_odd[0].append(a) if a%2 == 0 else even_odd[1].append(a) for a in range(20)]
预期输出:
[[0, 2, 4, 6, 8, 10, 12, 14, 16, 18], [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]]
使用列表理解
答案 0 :(得分:1)
您可以通过2个间隔进行迭代来使用两个range
来实现
even_odd = [list(range(0, 19, 2)), list(range(1, 20, 2))]
# [[0, 2, 4, 6, 8, 10, 12, 14, 16, 18], [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]]