Python循环赋值

时间:2016-02-28 21:21:34

标签: python-3.x

我们刚刚开始学习循环,我的任务之一是

def multiples(n,xs):

给定整数n和整数xs列表,检查并返回
的值 xs是n的倍数作为列表,保留xs的出现顺序。

限制:不要修改传入列表xs:建立一个新列表以返回。

Examples:

 multiples(2,[1,2,3,4,5,6]) → [2,4,6]

 multiples(5,[5,10,5,10]) → [5,10,5,10] #keep   duplicates

 multiples(3,[11,13]) → []

有人可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下功能 -

def multiples(n,xs):
    return filter(lambda x: not x%n, xs)

>>> multiples(2,[1,2,3,4,5,6])
[2, 4, 6]
>>> multiples(5,[5,10,5,10])
[5, 10, 5, 10]
>>> multiples(3,[11,13])
[]

来自doc

filter(function,iterable) - 从函数返回true的iterable元素构造一个列表。