清单和功能

时间:2019-07-11 12:14:08

标签: python-3.x

定义一个函数,该函数接受一个列表(以下称为数字)作为输入并返回一个列表,其中每个元素都乘以10。当您运行下面的grader.score.in__problem2方法时,分级器将为该函数提供参数数字

在这种情况下,您需要编写一个适用于任意输入的函数。在将函数提交给分级器之前,您可能需要通过评估类似于以下内容的代码来检查它是否返回了期望的输出:

test_numbers = [1, 2, 3]
mult(test_numbers)

我对编码还比较陌生,我发现很难找到合适的解决方案

def mult(numbers):
    return (10) * len(numbers)

我希望输出为(10, 20, 30),但我只能得到30作为响应

4 个答案:

答案 0 :(得分:1)

您可以使用列表理解:

def mult(my_list):
    return [10*n for n in my_list]
>>> m = [1,2,3]
>>> mult(m)

[10,20,30]

答案 1 :(得分:0)

有一个名为map的内置函数可以完成此操作。

  

返回一个迭代器,该迭代器将函数应用于所有可迭代项,并产生结果。

以您想做的事为例:

"name"

如果您需要自己编写代码,则需要遍历列表。为此,我们使用关键字test_numbers = [1, 2, 3] print(list(map(lambda x: x*10, test_numbers))) # [10, 20, 30]

for

对于每次迭代,new_list = [] test_numbers = [1, 2, 3] for number in test_numbers: new_list.append(number * 10) print(new_list) # [10, 20, 30] 都会评估列表中的每个项目(第一次迭代为1,第二次为2,第三次为3)。

答案 2 :(得分:0)

您可以使用来遍历数组列表:

test_numbers=[1,2,3]
for var in test_numbers:
  print (##test_numbers.index(var),
         var*10)

答案 3 :(得分:0)

您可以编写如下:

def multiply(numbers):
    return [item*10 for item in numbers]

numbers= [1, 2, 3]
multiply(numbers)