Python 将numpy.str与包含单个字符串的集合进行比较

Python 将numpy.str与包含单个字符串的集合进行比较,python,string,numpy,string-comparison,Python,String,Numpy,String Comparison,我有以下字符串: 标签1:“是”(numpy字符串) label2:'Yes'(仅包含单个字符串的集合) 当我尝试比较label1==label2时,我得到一个错误,因为label2是一个集合,而不是一个字符串 当我尝试比较label1==label2[0]时,我得到一个错误,因为“集合不可下标” 有人能帮我看看我遗漏了什么吗?您遗漏的是您为功能选择了不合适的数据类型集合是无序集合;试图从中获取特定元素与set概念不一致 你有几个合理的选择 if label1 in label2: if la

我有以下字符串:

标签1:“是”
(numpy字符串)

label2:'Yes'
(仅包含单个字符串的集合)

当我尝试比较label1==label2时,我得到一个错误,因为label2是一个集合,而不是一个字符串

当我尝试比较
label1==label2[0]
时,我得到一个错误,因为“集合不可下标”


有人能帮我看看我遗漏了什么吗?

您遗漏的是您为功能选择了不合适的数据类型<代码>集合是无序集合;试图从中获取特定元素与
set
概念不一致

你有几个合理的选择

if label1 in label2:

if label1 == list(label2)[0]:

您缺少的是为功能选择了不合适的数据类型<代码>集合是无序集合;试图从中获取特定元素与
set
概念不一致

你有几个合理的选择

if label1 in label2:

if label1 == list(label2)[0]:

集合是未排序的数据结构,这意味着您可以在任何索引
i
处获取值,这是因为只有排序的结构才能被索引。在集合中,顺序每次都不同,因此在特定元素上的索引值每次都会给出不同的结果,这是毫无意义的(这就是为什么不允许这样做的原因)

如果你想让我成功,有很多方法

如果只有一个值:

如果label1==list(label2)[0]:
#你的代码

如果label1==label2.pop():
#你的代码
如果有多个值:

如果label1==sorted(list(label2))[索引您的值]:
#你的代码

集合是未排序的数据结构,这意味着您可以在任何索引
i
处获取值,这是因为只有排序的结构可以被索引。在集合中,顺序每次都不同,因此在特定元素上的索引值每次都会给出不同的结果,这是毫无意义的(这就是为什么不允许这样做的原因)

如果你想让我成功,有很多方法

如果只有一个值:

如果label1==list(label2)[0]:
#你的代码

如果label1==label2.pop():
#你的代码
如果有多个值:

如果label1==sorted(list(label2))[索引您的值]:
#你的代码

您所说的
numpy string
到底是什么意思?我使用numpy genfromtext函数将数据作为字符串值从csv文件导入。当我调用type(data)时,它会显示class numpy string。你所说的
numpy string
到底是什么意思?我使用numpy genfromtext函数从csv文件中将数据作为字符串值导入。当我调用type(data)时,它表示class numpy string。