【发布时间】:2017-12-05 19:27:37
【问题描述】:
假设我们有一个整数列表:
列表 = [6, 4, 1, 4, 4, 4, 4, 4, 2, 1]
我现在写了一个函数,它返回另一个列表,其中包含上面列表中的所有整数,没有重复。
def no_repeats(s):
new_list = []
for number in s:
if new_list.count(number) < 1:
new_list.append(number)
return(new_list)
new_list 返回 [6, 4, 1, 2] 这很好!我的问题是我现在如何编写两个类似的函数:
一个函数 clean(s) 不会像上面的函数那样返回一个新列表,而是通过删除所有重复的数字来更改原始列表。因此,结果必须相同,并且函数不得包含“return”或创建新列表。它只能清理原始列表。
一个 double(s) 函数,它再次更改原始列表(不返回新列表!),但这次是通过将原始列表中的每个数字加倍。因此,double(list) 应该将上面的原始列表更改为:
[6, 6, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 1, 1]
感谢大家的帮助!
【问题讨论】:
-
此答案在很大程度上取决于您实施解决方案所使用的特定语言。请编辑您的标签以使其相关。
-
抱歉,已更正。语言是python 3+。
标签: python-3.x list function integer return