python - 检查列表是升序还是降序(使用 FOR)

标签 python list sorting for-loop

因此,我在大学里接到了一项任务,我要检查列表是否确实已排序(升序或降序)。但我必须使用“for”。 (我们最近才学了for和list,一定要练习一下)

这是我到目前为止所拥有的,我能够确认列表是否是降序,但不是降序或升序:

A=[10,9,8,3,1,0]

def order(A):
    for i in range(len(A) - 1): 
        if ((A[i]>A[i+1])) :
            return False
    return True

最佳答案

这里有一个简单的方法来返回列表是升序、降序还是两者都不是。

def order(A):
if A == sorted(A,reverse=False):
    return 'Ascending'
elif A == sorted(A,reverse=True):
    return 'Descending'
else:
    return 'Neither'

这是带有简单输入的示例输出。

>> a = [2,5,4,7,1]
>> b = [1,3,5,7,9]
>> c = [9,6,3,1,0]
>> print(order(a), order(b), order(c))
out: Neither Ascending Descending

这个函数的好处是我们不必分析单个元素,我们只需使用内置函数来分析整个列表。

关于python - 检查列表是升序还是降序(使用 FOR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47003168/

相关文章:

list - Elixir:生成给定参数出现 `n` 次的列表(类似于 Haskell 的复制)

python - 将列表中的字符串转换为 float

php - 按数组中最后一个键的值排序?

python - Matplotlib 子进程/后端问题

Python 创建 XML 文件

python - 如何在条形图中同时设置宽度和间隙? ( python ,剧情)

html - 当用户缩小窗口时,无序列表会崩溃

python - 按字典值对列表中的字典进行排序

python - 如何使用 Python 按字母数字顺序按值对字典进行排序?

python - Black Scholes 看跌期权,分析解决方案实现 - Python