Python 为什么我的重复项目连续出现两次?
我试图找出Python 为什么我的重复项目连续出现两次?,python,python-3.x,Python,Python 3.x,我试图找出列表中所有重复项的列表 我的代码: 预期产出: 实际产量: 重复项应仅存在于列表中。我哪里出错了???您可以使用collections.Counter()标准库类来实现更高效的方法 导入集合 lst=['see','eat','feel','see','eat'] lst_计数=集合计数器(lst) duplicates=[lst_counts.items()中(value,count)的值,如果count>1] 打印(副本) 输出 ['see','eat']您可以使用collect
列表中所有重复项的列表
我的代码:
预期产出:
实际产量:
重复项应仅存在于列表中
。我哪里出错了???您可以使用collections.Counter()
标准库类来实现更高效的方法
导入集合
lst=['see','eat','feel','see','eat']
lst_计数=集合计数器(lst)
duplicates=[lst_counts.items()中(value,count)的值,如果count>1]
打印(副本)
输出
['see','eat']
您可以使用collections.Counter()
标准库类来实现更高效的方法
导入集合
lst=['see','eat','feel','see','eat']
lst_计数=集合计数器(lst)
duplicates=[lst_counts.items()中(value,count)的值,如果count>1]
打印(副本)
输出
['see','eat']
这两行:
j=i+1
for j in range(len(list)):
首先给j
一些值,然后在for循环中让它循环0到len(列表),值被遗忘。你不是这个意思
反而
for j in range(i+1, len(list)):
我想你会做你想做的
但如果某个值出现,比如说三次,这仍然会给您带来问题 这两条线:
j=i+1
for j in range(len(list)):
首先给j
一些值,然后在for循环中让它循环0到len(列表),值被遗忘。你不是这个意思
反而
for j in range(i+1, len(list)):
我想你会做你想做的
但如果某个值出现,比如说三次,这仍然会给您带来问题 您可以使用下面的列表理解来完成
ls=['see','eat','feel','see','eat']
[ls[i]表示范围内的i(len(ls))表示范围内的j(len(ls)),如果(j>i且ls[i]==ls[j])]
您可以使用下面的列表理解来完成
ls=['see','eat','feel','see','eat']
[ls[i]表示范围内的i(len(ls))表示范围内的j(len(ls)),如果(j>i且ls[i]==ls[j])]
必须循环,这样才能得到两个单词对的所有组合
最好只使用一个循环,并跟踪重复的元素:
seen = set()
duplicates = set()
for item in list:
if item in seen:
duplicates.add(item)
else:
seen.add(item)
你必须循环,所以你可以得到两个单词对的所有组合
最好只使用一个循环,并跟踪重复的元素:
seen = set()
duplicates = set()
for item in list:
if item in seen:
duplicates.add(item)
else:
seen.add(item)
试试这个:
l=[]
for i in list:
c=0
for j in list:
if i==j :
c+=1
if c!=1:
flag=0
for k in l:
if k==i:
flag=1
if flag==0:
l.append(i)
print(l)
在这段代码中,我使用了三个循环
1.为了重复每个值以检查weater是否重复
2.用于重复每个值并进行比较。注意:报告值将显示c中的值为2或更多
3.要检查l中存储的值是否不重复,请尝试以下操作:
l=[]
for i in list:
c=0
for j in list:
if i==j :
c+=1
if c!=1:
flag=0
for k in l:
if k==i:
flag=1
if flag==0:
l.append(i)
print(l)
在这段代码中,我使用了三个循环
1.为了重复每个值以检查weater是否重复
2.用于重复每个值并进行比较。注意:报告值将显示c中的值为2或更多
3.为了检查l中存储的值是否作为旁注重复,list
是保留关键字,不应用作变量名。另外,您为什么要执行len(list)-1
?这只会迭代n-1个列表项,因此它不会进入第二个eat
,您正在将每个项与包括其自身在内的每个项进行比较。可能是您想将范围(i+1,len(list))中j的第二个循环更改为:
@jammydowger:他正在检查当前值是否在列表中稍后重复。他不需要检查最后一个值,因为列表中没有“后面的”。所以这个位实际上是正确的。作为旁注,list
是一个保留关键字,不应该用作变量名。另外,您为什么要执行len(list)-1
?这只会迭代n-1个列表项,因此它不会进入第二个eat
,您正在将每个项与包括其自身在内的每个项进行比较。可能是您想将范围(i+1,len(list))中j的第二个循环更改为:
@jammydowger:他正在检查当前值是否在列表中稍后重复。他不需要检查最后一个值,因为列表中没有“后面的”。所以这一点在我看来是正确的。啊,现在我明白了。这很有趣,因为我只是想知道如何从特定索引开始for
循环(因为我是python
新手),但现在我明白了。谢谢:)啊,现在我明白了。这很有趣,因为我只是想知道如何从特定索引开始for
循环(因为我是python
新手),但现在我明白了。谢谢:)