首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将变量设置为仅等于偶数,将另一个设置为概率

问将变量设置为仅等于偶数,将另一个设置为概率
EN

Stack Overflow用户
提问于 2015-05-18 22:30:47
回答 2查看 1.3K关注 0票数 0

我很难把一个列表分成偶数和奇数,变量奇数和偶数表示它们各自的数字。

教授指出,这一行代码:

代码语言:javascript
复制
odd, even = foo([1,2,3,4,5,6], lambda x : x % 2 == 0)

应该把数字分成奇数和偶数。我该怎么做这样的事?我知道如何在奇数和偶数之间过滤,但我不知道如何在一行中设置两个变量,与它们各自的部分相等。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-18 22:34:49

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

代码语言:javascript
复制
def foo():
    a = 1
    b = 2
    return (a, b)

x, y = foo()  # x is now '1', and y is now '2'

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

票数 2
EN

Stack Overflow用户

发布于 2015-05-18 22:34:58

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

代码语言:javascript
复制
>>> 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]

这项任务被称为元组解压。这样,当您返回逗号分隔变量和左手侧相同数量的变量时,左手侧的每个变量将分别分配给右边的变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30313795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档