相关疑难解决方法(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中的不同元素?

我有一个Python列表,我怎样才能使它的值唯一?

python

109
推荐指数
6
解决办法
17万
查看次数

在Python列表上进行排序加uniq的最简洁方法是什么?

考虑my_list包含的Python列表['foo', 'foo', 'bar'].

什么是最Python的方式uniquify和排序列表?
(想cat my_list | sort | uniq)

这就是我目前的工作方式,虽然它有效但我确信有更好的方法可以做到这一点.

my_list = []
...
my_list.append("foo")
my_list.append("foo")
my_list.append("bar")
...
my_list = set(my_list)
my_list = list(my_list)
my_list.sort()
Run Code Online (Sandbox Code Playgroud)

python unique

55
推荐指数
3
解决办法
5万
查看次数


如何从python对象列表中获取唯一值

我有一节课:

class Car:
    make
    model
    year
Run Code Online (Sandbox Code Playgroud)

我有一个汽车列表,想要获得我的汽车中的独特车型列表.

该列表可能是成千上万的项目.最好的方法是什么?

谢谢.

python list

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

Python消除了一行中具有不可用元素的列表重复项

可能重复:
Python:从列表列表中删除重复项

说我有清单

a=[1,2,1,2,1,3]
Run Code Online (Sandbox Code Playgroud)

如果a中的所有元素都是可清洗的(就像那种情况一样),那么这将完成工作:

list(set(a))
Run Code Online (Sandbox Code Playgroud)

但是,如果

a=[[1,2],[1,2],[1,3]]
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

7
推荐指数
1
解决办法
4710
查看次数

python中嵌套列表理解和嵌套生成器表达式的顺序

我是 Python 新手,对 Python 官方文档中的一段代码感到困惑。

unique_words = set(word  for line in page  for word in line.split())
Run Code Online (Sandbox Code Playgroud)

对我来说,它看起来相当于:

unique_words=set()
for word in line.split():
    for line in page:
        unique_words.add(word)
Run Code Online (Sandbox Code Playgroud)

在嵌套循环中定义 line 之前,如何在第一个循环中使用它?然而,它确实有效。我认为这表明嵌套列表理解和生成器表达式的顺序是从左到右,这与我之前的理解相矛盾。

任何人都可以为我澄清正确的顺序吗?

python list-comprehension generator

5
推荐指数
1
解决办法
5160
查看次数

从可比较的、不可哈希的项目列表中删除重复项的最快方法

如果我只知道列表元素可以排序,如何从列表中删除重复项?(我也不关心列表中项目的顺序。)

现有问题,例如如何从 Python 列表中删除重复项并保持顺序?删除列表中的重复项需要使用集合,即要求列表中的项目是可散列的。 就我而言,哈希能力不是保证。

python list duplicates

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

为什么排序(设置(A))比设置(排序(A))更快?

我有一系列数字.我想对它们进行排序并删除重复项.这个答案建议使用setsort进行那种操作.操作顺序不应改变结果,因此我测量了计算的时间.

from numpy.random import randint
from time import clock

n = 1000000

A=randint(0,n,n)

t1=clock()
B=sorted(set(A))
t2=clock()
C=set(sorted(A))
t3=clock()

print t2-t1, t3-t2

>>> 0.48011 1.339263
Run Code Online (Sandbox Code Playgroud)

sorted(set(A))大约比set(排序(A))快三倍.

是什么让一个比另一个更快?此外,还有更快的方法吗?

python sorting algorithm set time-complexity

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