加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如果列表中的所有项目都不同,我如何定义一个返回False的函数,如

发布时间:2020-12-20 12:11:26 所属栏目:Python 来源:网络整理
导读:我试图创建一个检查列表项清晰度的函数,如果没有多个匹配元素,则返回false. def AllDifferent(s): for i in s: for i2 in s: if i2 == i: return False else: return True 但它似乎没有用.我究竟做错了什么? 解决方法 你可以用一套.集合是仅保留任何对象的
我试图创建一个检查列表项清晰度的函数,如果没有多个匹配元素,则返回false.

def AllDifferent(s):
    for i in s:
        for i2 in s:
            if i2 == i:
                return False
            else:
                return True

但它似乎没有用.我究竟做错了什么?

解决方法

你可以用一套.集合是仅保留任何对象的一个??副本的集合.因此set([1,1,1])与set([1])相同.因此,我们只需检查该集合的长度(大小)是否与列表相同

def allDifferent(in_list):
    return len(set(in_list)) == len(in_list)

请注意,Python中的可变数据类型不可清除,并且不能进入集合.对他们来说,我们需要更详细的解决方案

def allDifferent(in_list):
     my_list = in_list[:]
     while my_list:
         x = my_list.pop()
         if x in my_list:
             return False
     return True

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读