Python 3.x Python循环赋值

Python 3.x Python循环赋值,python-3.x,Python 3.x,我们刚刚开始学习循环,我的任务之一就是 def multiples(n,xs): 给定整数n和整数xs列表,检查并返回 以n的倍数作为列表的xs,保留xs的出现顺序 限制:不要修改传入列表xs:build-up要返回的新列表 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]) → []

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

def multiples(n,xs):
给定整数n和整数xs列表,检查并返回
以n的倍数作为列表的xs,保留xs的出现顺序

限制:不要修改传入列表xs:build-up要返回的新列表

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]) → []

有人能帮忙解决这个问题吗

您可以尝试以下功能-

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])
[]
来自博士
filter(function,iterable)-从iterable的元素中构造一个列表,函数返回true。

我建议花几分钟来查看帮助中心,或者从列表理解开始:[x代表x,如果x%n==0]@Rikkibibson是的,这是一个很好的实现相同目标的方法