python - 如何停止循环中相同元素的重复
问题描述
我的循环for在python中有问题。
我重复了相同的元素,我不知道为什么。
这是我的代码:
x=0
liste=[]
for x in range(len(valeur)):
for i in range(x+1,len(valeur)):
ed = nltk.edit_distance(valeur[x],valeur[i])
dico={"titre":valeur[x],"titre_compare":valeur[i], "distance":ed}
a=((dico["titre"],(dico["titre_compare"]),(dico["distance"])))
for z in range (len(a)):
if a[2]<6 and a[0] != ' None ' and a[1] != ' None ' and a[2] != ' None ' :
print(a)
我的代码运行良好,但我不明白为什么会这样:
(' K. Hardono ', ' Cardon. ', 5)
(' K. Hardono ', ' Cardon. ', 5)
(' K. Hardono ', ' Cardon. ', 5)
不仅如此:
(' K. Hardono ', ' Cardon. ', 5)
我试图搜索并发现它:
当我把这个例如:
a=((dico["titre"],"&&",(dico["titre_compare"]),"&&",(dico["distance"])))
它返回 5 次
(' K. Hardono ', ' Cardon. ', 5)
(' K. Hardono ', ' Cardon. ', 5)
(' K. Hardono ', ' Cardon. ', 5)
(' K. Hardono ', ' Cardon. ', 5)
(' K. Hardono ', ' Cardon. ', 5)
所以我知道我对相同元素的重复提供了我在 python 中字典的数字元素,但我不知道我如何才能只有 1 个元素而不是重复。
谢谢如果你能帮助我
解决方案
好吧,看起来a
你正在制作的元组的长度为 3,对吧?
因此,当您使用 进行下一个 for 循环时z
,z
将在循环期间采用 [0, 1, 2] 的值。该循环每次都执行相同的操作(不依赖于z
),因此它将打印a
3 次。
再看看你的循环,z
想想你想做什么。此外,在您定义元组a
的地方,括号有点不合时宜......
推荐阅读
- javascript - 单击特定按钮时,如何使 div 缓慢滑出(使用 CSS 的转换属性)?
- visualforce - Visualforce 页面上的美国国家选项列表
- python-3.x - KivyMD onkeypress 事件 - Python
- php - 为什么重定向不起作用?你会如何解决它?
- firebase - Firebase 存储规则奇怪的行为
- r - 使用 group_by() 后,按时间帧窗口为数据帧中的每一行设置数据子集
- python - 函数返回包含子字符串所有元素的第一个可能的子字符串
- javascript - 在javascript中更改输入数字时如何使值自动更新?
- php - 如何在 Apache 2.4.46 上启用 HTTP 请求标头
- excel - 如何使用 VBA 轻松将 CSV 文件输入 Excel?