如何解决比较numpy.str以设置包含单个字符串
我有以下字符串:
label1: 'Yes'
(numpy字符串)
label2: 'Yes'
(仅包含单个字符串的集合)
当我尝试进行比较label1 == label2
时,由于label2是集合而不是字符串,我得到了一个错误。
当我尝试比较label1 == label2[0]
时,出现错误,因为“集合不可下标”。
有人可以帮我看看我在想什么吗?
解决方法
缺少的是您为功能选择了不合适的数据类型。 set
是无序集合;试图从中获取特定元素与set
概念不一致。
您有几种合理的选择。
if label1 in label2:
if label1 == list(label2)[0]:
,
集合是无序的数据结构,这意味着您可以在任何索引i
上获取价值,这是因为只能对有序的结构进行索引。在set中,每次的顺序都是不同的,因此每次对特定元素的索引值都会给出不同的结果,这将毫无意义(这就是为什么不允许这样做的原因)
如果您要我使用它,可以使用多种方法。
如果您使用单个值:
if label1 == list(label2)[0]:
# Your code
或
if label1 == label2.pop():
# Your code
如果您有多个值:
if label1 == sorted(list(label2))[INDEX_OF_YOUR_VALUE]:
# Your code
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。