首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清单和职能

清单和职能
EN

Stack Overflow用户
提问于 2019-07-11 12:14:08
回答 5查看 3.6K关注 0票数 0

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

在这种情况下,您需要编写一个可用于任意输入的函数。在将函数提交给分级器之前,您可能需要检查它是否返回您期望的输出,方法是计算类似于以下代码的代码:

代码语言:javascript
复制
test_numbers = [1, 2, 3]
mult(test_numbers)

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

代码语言:javascript
复制
def mult(numbers):
    return (10) * len(numbers)

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-07-11 12:28:31

您可以使用列表理解:

代码语言:javascript
复制
def mult(my_list):
    return [10*n for n in my_list]
代码语言:javascript
复制
>>> m = [1,2,3]
>>> mult(m)

[10,20,30]
票数 2
EN

Stack Overflow用户

发布于 2019-07-11 12:25:43

有一个名为地图的内置函数可以执行此操作。

返回一个迭代器,该迭代器将函数应用于可迭代的每一项,从而产生结果。

作为您想要做的事情的示例:

代码语言:javascript
复制
test_numbers = [1, 2, 3]
print(list(map(lambda x: x*10, test_numbers)))
# [10, 20, 30]

如果您需要自己编写代码,则需要对列表进行迭代。为此,我们使用关键字for

代码语言:javascript
复制
new_list = []
test_numbers = [1, 2, 3]
for number in test_numbers:
    new_list.append(number * 10)
print(new_list)
# [10, 20, 30]

对于每个迭代,number对列表中的每个项进行计算(第一次迭代为1,第二次为2,第三次为3)。

票数 0
EN

Stack Overflow用户

发布于 2019-07-11 12:59:57

可以使用for对数组列表进行迭代:

代码语言:javascript
复制
test_numbers=[1,2,3]
for var in test_numbers:
  print (##test_numbers.index(var),
         var*10)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56988923

复制
相关文章

相似问题

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