Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我的重复项目连续出现两次?_Python_Python 3.x - Fatal编程技术网

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
新手),但现在我明白了。谢谢:)