列表理解有2个变量

时间:2015-01-27 20:55:15

标签: python python-2.7 list-comprehension python-2.x

有以下列表

base_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

如果我想按照条件x > 5在一行中将其分成2个列表,我会像这样做声音

 list_1 = [num for num in base_list if num < 5]
 list2 = [num for num in base_list if num > 5]

我想知道是否有可能让它成为一条线?

像这样的东西

list1, list2 = [num for num in base_list if num < 5 and_here_else_part_for_second_list]

1 个答案:

答案 0 :(得分:0)

当然可以将它放在一行(甚至一个语句)......

list_1, list2 = [num for num in base_list if num < 5], [num for num in base_list if num > 5]

但你可能不想这样做:-)(我没有看到任何优点)......

还有其他一些方法可以让它适应1种理解,但其中没有一种特别适合#34;清洁&#34;。你所拥有的就是我所害怕的一切。