如何返回列表切片的最大元素
我正在尽量简化这个函数,应该怎么做呢?
def eleMax(items, start=0, end=None):
if end is None:
end = len(items)
return max(items[start:end])
我想到了
def eleMax(items, start=0, end=-1):
return max(items[start:end])
但是最后一个元素从列表中被删除了。
4 个回答
2
只需要用 max(items) 就可以了。
在Python中,范围是“半开”的。当你用 [start:end] 这种方式切片一个列表时,起始点是包含在内的,而结束点是不包括的。
2
当然可以!请看下面的内容:
在编程中,有时候我们需要让程序做一些特定的事情,比如处理数据、显示信息或者与用户互动。为了实现这些功能,我们会使用一些代码块,这些代码块就像是程序的“指令”,告诉计算机该怎么做。
例如,假设我们想让程序显示一条消息,我们可能会写一些代码来实现这个目标。代码块就像是一个个小工具,帮助我们完成不同的任务。
如果你在学习编程,记住每个代码块都有它的用途,理解这些用途会让你更容易掌握编程的技巧。
希望这些解释能帮助你更好地理解编程的基本概念!
def eleMax(items, start=None, end=None):
return max(items[slice(start, end)])
4
你可以直接删掉这两行:
if end is None:
end = len(items)
这样函数的运行效果是完全一样的:
>>> a=[5,4,3,2,1]
>>> def eleMax(items, start=0, end=None):
... return max(items[start:end])
...
>>> eleMax(a,2) # a[2:] == [3,2,1]
3