相关疑难解决方法(0)

删除列表中的重复项

几乎我需要编写一个程序来检查列表是否有任何重复项,如果有,它会删除它们并返回一个新列表,其中包含未复制/删除的项目.这就是我所拥有的,但说实话,我不知道该怎么做.

def remove_duplicates():
    t = ['a', 'b', 'c', 'd']
    t2 = ['a', 'c', 'd']
    for t in t2:
        t.append(t.remove())
    return t
Run Code Online (Sandbox Code Playgroud)

python algorithm intersection list duplicates

883
推荐指数
28
解决办法
137万
查看次数

如何在保留订单的同时从列表中删除重复项?

是否有内置功能可以从Python中的列表中删除重复项,同时保留顺序?我知道我可以使用一个集来删除重复项,但这会破坏原始顺序.我也知道我可以像这样滚动自己:

def uniq(input):
  output = []
  for x in input:
    if x not in output:
      output.append(x)
  return output
Run Code Online (Sandbox Code Playgroud)

(感谢您放松代码示例.)

但是如果可能的话,我想利用内置或更多的Pythonic习语.

相关问题:在Python中,从列表中删除重复项的最快算法是什么,以便所有元素在保留顺序的同时是唯一的?

python list unique duplicates

722
推荐指数
12
解决办法
52万
查看次数


在 Python 中的列表列表中删除重复的列表

我在这里看到了一些非常相关的问题,但他们的回答对我不起作用。我有一个列表列表,其中一些子列表是重复的,但它们的元素可能是无序的。例如

g = [[1, 2, 3], [3, 2, 1], [1, 3, 2], [9, 0, 1], [4, 3, 2]]

根据我的问题,输出应该是:

g = [[1,2,3],[9,0,1],[4,3,2]]

我已经尝试过,set但只删除了那些相等的列表(我认为它应该可以工作,因为集合的定义是没有顺序的)。我访问过的其他问题只有列表完全重复或重复的示例,如下所示:Python:如何删除列表列表中的重复列表?. 现在输出顺序(对于列表和子列表)不是问题。

python list set python-2.7

4
推荐指数
1
解决办法
2916
查看次数

检查python列表/ numpy ndarray中是否存在重复项的最快方法

我想确定我的列表(实际上是numpy.ndarray)是否包含最快重复执行时间的重复项。请注意,我不在乎删除重复项,我只是想知道是否有重复项。

注意:如果这不是重复的内容,我会感到非常惊讶,但是我已经尽力而为,找不到了。这个问题这个问题最接近,这两个问题都要求返回唯一列表。

python arrays numpy list unique

3
推荐指数
1
解决办法
2551
查看次数

如何在列表中打印元素(非重复)

例如 : x=[1,1,1,1,2,2,2,"a","a","a","b","b"]

我想打印: 1,2,"a","b"

如果案例是列表很长,我甚至不知道列表中有多少种元素呢?

Python中有没有可以做到的功能?或者,我如何编写for循环来执行此操作?

python list python-2.7

1
推荐指数
2
解决办法
806
查看次数

从列表中删除项目

嘿,我试图从列表中删除一个项目(不使用set):

list1 = []
for i in range(2,101):
    for j in range(2,101):
        list1.append(i ** j)
list1.sort()
for k in range(1,len(list1) - 1):
    if (list1[k] == list1[k - 1]):
        list1.remove(list1[k])
print "length = " + str(len(list1))
Run Code Online (Sandbox Code Playgroud)

set函数工作正常,但我想应用此方法.除了我得到:

 IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

在声明中:

 if (list1[k] == list1[k - 1]):
Run Code Online (Sandbox Code Playgroud)

编辑添加 (感谢Ned Batchelder)工作代码是:

list1 = []
for i in range(2,101):
 for j in range(2,101):
   list1.append(i ** j)
list1.sort()
k = 0
while k < len(list1) - 1: …
Run Code Online (Sandbox Code Playgroud)

python list unique

0
推荐指数
1
解决办法
473
查看次数

删除列表python中的重复

可能重复:
如何在保留顺序的同时从Python中的列表中删除重复项?
在Python中,从列表中删除重复项的最快算法是什么,以便所有元素在保留顺序的同时是唯一的?

我想知道是否有一个函数执行以下操作:

以列表作为参数:

list = [ 3 , 5 , 6 , 4 , 6 , 2 , 7 , 6 , 5 , 3 ]
Run Code Online (Sandbox Code Playgroud)

并删除列表中的所有重复以获取:

list = [ 3 , 5 , 6 , 4 , 2 , 7 ]
Run Code Online (Sandbox Code Playgroud)

我知道你可以将它转换成字典,并使用字典不能重复的事实,但我想知道是否有更好的方法.

谢谢

python list

0
推荐指数
2
解决办法
660
查看次数

标签 统计

python ×8

list ×7

unique ×3

algorithm ×2

duplicates ×2

python-2.7 ×2

arrays ×1

c++ ×1

haskell ×1

intersection ×1

java ×1

numpy ×1

set ×1