将变量设置为仅相等的偶数数字,而另一个则为赔率



我在尝试将列表分为均匀的数字奇数 em>偶数。

教授指出这条代码:

odd, even = foo([1,2,3,4,5,6], lambda x : x % 2 == 0)

应该将数字分为奇数甚至奇数。我该怎么做?我知道如何在奇数和偶数数字之间过滤,但是我不确定如何将两个变量设置为一行等于它们的部分。

在您的示例中, foo是一个函数,并返回一对变量。例如:

def foo():
    a = 1
    b = 2
    return (a, b)
x, y = foo()  # x is now '1', and y is now '2'

因此,您需要创建一个在输入列表上迭代的函数,并将元素分配给odd列表或even列表。然后返回这两个列表,如上面的示例。

返回包含奇数和偶数值的元组。您最近的功能可能是:

>>> def foo(l,f):
...     even = filter(f,l)
...     odd = [i for i in l if i not in even]
...     return odd,even
... 
>>> odd, even = foo([1,2,3,4,5,6], lambda x : x % 2 == 0)
>>> odd
[1, 3, 5]
>>> even
[2, 4, 6]

此任务称为元组解开包装。这样,当您返回逗号分隔变量和左侧的变量相同数量时,左侧侧的每个变量将分别分别分配给右侧的范围。

相关内容

最新更新