思路是用set的排斥,但这个一般只针对可哈希的元素,比如字符串什么的
像是矩阵什么的,都会报错,但,有一个很简单的道理可以实现。
a,b是两个变量,哪怕是矩阵
if a==b:
str(a)==str(b)
这个一般都是成立的,
比如矩阵,str后是
'[-0.10767 0.11053 0.59812 -0.54361 0.67396 0.10663\n 0.038867 0.35481 0.06351 -0.094189 0.15786 -0.81665\n 0.14172 0.21939 0.58505 -0.52158 0.22783 -0.16642\n -0.68228 0.3587 0.42568 0.19021 0.91963 0.57555\n 0.46185 0.42363 -0.095399 -0.42749 -0.16567 -0.056842\n -0.29595 0.26037 -0.26606 -0.070404 -0.27662 0.15821\n 0.69825 0.43081 0.27952 -0.45437 -0.33801 -0.58184\n 0.22364 -0.5778 -0.26862 -0.20425 0.56394 -0.58524\n -0.14365 -0.64218 0.0054697 -0.35248 0.16162 1.1796\n -0.47674 -2.7553 -0.1321 -0.047729 1.0655 1.1034\n -0.2208 0.18669 0.13177 0.15117 0.7131 -0.35215\n 0.91348 0.61783 0.70992 0.23955 -0.14571 -0.37859\n -0.045959 -0.47368 0.2385 0.20536 -0.18996 0.32507\n -1.1112 -0.36341 0.98679 -0.084776 -0.54008 0.11726\n -1.0194 -0.24424 0.12771 0.013884 0.080374 -0.35414\n 0.34951 -0.7226 0.37549 0.4441 -0.99059 0.61214\n -0.35111 -0.83155 0.45293 0.082577 ]'
由此,
第一步先将需要判断的元素提取成列表
比如embeddings_index_100是一个字典
第二步,将其中的元素转化为str
mm=list(embeddings_index_100.values())
nn=[str(i) for i in mm]
len_bf=len(nn)
第三步,将字符串列表转化为集合
ss=set(nn)
len_af=len(ss)
第四步,比较两个长度,如果改变,则是有相同的,没有改变,则是完全不同元素。