python - 如何返回True和False?

标签 python list for-loop set

我的作业涉及创建一个可以判断列表是否升序的算法。如果列表按升序排列并且列表中没有重复项,则输出应返回 True,否则如果列表不是升序或有重复项,则应返回 False。

我在弄清楚如何返回“True”或“False”时遇到问题,而不是我使用字符串来打印它。

输入:

def tr1(lis):

  if (len(lis)== len(set(lis)) and (sorted (lis) == lis)) :
    print ("True")
  else:
    print ("False")
tr1([1,2,3,4,4])

输出:

False

最佳答案

许多其他帖子都处理了检测重复项:从列表中创建一组并检查它们的长度;如果有重复,则集合会更短。

打印 bool 值需要思考 bool 数据,就像您学会思考数字和文本数据一样。

print(sorted(lis) == list)

这就是整个案例。将它们放在一起:

print(sorted(lis) == list and len(set(lis)) == len(lis) )

关于python - 如何返回True和False?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58651663/

相关文章:

python - 什么是用一个键和多个值更改字典以获得所需输出的 ​​Pythonic 方法?

ios - 在for循环中传递数据时,MagicalRecord将保存null

vb.net - 我的 For 循环跳过了 IF 语句

python - 如何定义两个图像是否相似?

python - 如何使用 Tkinter 根据长度创建彩色线条?

python - 将元组列表转换为 Pandas 数据框的单列?

list - 强制在 Prolog 中回溯

python - 如何在odoo中使用onchange存储值?

c# - 如何通过列表属性将对象拆分为对象列表 C#

java - 如何在Python中影响内循环的外循环变量?