使用 np.unique Python 后获取元素个数

Get number of elements after using np.unique Python

我有一套元素。任务是获取唯一元素的数量。我写了以下内容:

 import numpy as np
 tokens1 = set(["a", "b", "c", "c"])
 print(np.unique(tokens1))
 print(np.unique(tokens1).size)

结果是

[{'c', 'b', 'a'}]
1

如何获得正确的数字 - 3? 我应该首先简单地使用 np.unique 以外的东西吗? 可能有更好的方法来获得我想要的帽子。

根据 official docs,集合是唯一元素的无序集合,因此行 np.unique(tokens1) 是多余的。您应该改用 len(tokens1)

为了获得集合中唯一元素的数量,您可以简单地对该集合调用len()。要修改您现有的代码:

tokens1 = set(["a", "b", "c", "c"])
print(len(tokens1))
# prints: 3

这是因为集合已经删除了重复项。您不需要同时使用集合 AND np.unique().

如果您想改用 np.unique(),可以将代码修改为:

tokens1 = np.unique(["a", "b", "c", "c"])
print(len(tokens1))
# prints: 3