【发布时间】:2012-05-12 02:37:07
【问题描述】:
除了 len() 或 range() 之外,请不要使用内置函数。我正在准备期末考试。
这是我的意思的一个例子。
def find_numbers(x, lst):
lst = [3, 8, 1, 2, 0, 4, 8, 5]
find_numbers(3, lst) # this should return -> (1, 6, 7)
我没有完全尝试过这个......无法找出最好的方法:
def find_K_highest(lst, k):
newlst = [0] * k
maxvalue = lst[0]
for i in range(len(lst)):
if lst[i] > maxvalue:
maxvalue = lst[i]
newlst[0] = i
【问题讨论】:
-
当我尝试的时候没有太多尝试......无法真正弄清楚
-
您只需要回答
len或range? -
@akaRem 这些是允许在考试中使用的唯一内置插件。
-
@Omerta:如果你把它分解成几个步骤,用伪代码执行算法,应该不会那么难。想想你(手动)如何找到列表中最高的 3 个项目。
-
呃,我讨厌老师使用这些限制。我从标准库中获得了重新实现的功能,使思考简单任务变得更容易,但这种事情只是懒惰,而且会教坏做法。