微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

比较numpy.str以设置包含单个字符串

如何解决比较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 举报,一经查实,本站将立刻删除。