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

“添加到set”在java中返回一个布尔值 – python怎么样?

发布时间:2020-12-14 05:32:40 所属栏目:Java 来源:网络整理
导读:在 Java中,我喜欢使用“添加到集合”操作返回的布尔值来测试元素是否已经存在于集合中: if (set.add("x")) { print "x was not yet in the set";} 我的问题是,Python中有什么方便吗?我试过了 z = set() if (z.add(y)): print something 但它没有打印任何东
在 Java中,我喜欢使用“添加到集合”操作返回的布尔值来测试元素是否已经存在于集合中:
if (set.add("x")) {
   print "x was not yet in the set";
}

我的问题是,Python中有什么方便吗?我试过了

z = set()
 if (z.add(y)):
     print something

但它没有打印任何东西.我错过了什么吗?谢谢!

解决方法

在Python中,set.add()方法不返回任何内容.你必须使用not in运算符:
z = set()
if y not in z: # If the object is not in the list yet...
    print something
z.add(y)

如果在添加对象之前确实需要知道对象是否在集合中,只需存储布尔值:

z = set()
was_here = y not in z
z.add(y)
if was_here: # If the object was not in the list yet...
    print something

但是,我认为你不太可能需要它.

这是一个Python约定:当方法更新某个对象时,它返回None.你可以忽略这个惯例;此外,有一些“野外”的方法违反了它.然而,这是一个普遍的,公认的惯例:我建议坚持下去,并牢记它.

(编辑:李大同)

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

    推荐文章
      热点阅读