我有一套elemnt。任务是获取唯一元素的数量。我写了以下内容:
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以外的其他东西吗? 可能有更好的方法来获得我想要的帽子。
答案 0 :(得分:4)
为了获得集合中唯一元素的数量,您只需在集合上调用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
答案 1 :(得分:2)
根据official docs,集合是唯一元素的无序集合,因此行np.unique(tokens1)
是多余的。您应该使用len(tokens1)
代替。