相关疑难解决方法(0)

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

是否有内置功能可以从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列表中删除重复项并保持顺序?

给定一个字符串列表,我想按字母顺序对其进行排序并删除重复项.我知道我可以这样做:

from sets import Set
[...]
myHash = Set(myList)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何按字母顺序从散列中检索列表成员.

我没有和哈希结婚,所以任何方法都可以实现.此外,性能不是问题,因此我更倾向于使用代码清楚地表达一个快速但更不透明的解决方案.

python sorting list unique

71
推荐指数
3
解决办法
12万
查看次数

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

例如:

>>> x = [1, 1, 2, 'a', 'a', 3]
>>> unique(x)
[1, 2, 'a', 3]
Run Code Online (Sandbox Code Playgroud)

假设列表元素是可清除的.

澄清:结果应该保留列表中的第一个副本.例如,[1,2,3,2,3,1]变为[1,2,3].

python algorithm list

41
推荐指数
10
解决办法
3万
查看次数

从Python中的列表列表中删除重复项

如果想要根据每个嵌套列表的第一个元素评估重复项,是否有人可以建议一个很好的解决方案来从嵌套列表中删除重复项?

主要列表如下所示:

L = [['14', '65', 76], ['2', '5', 6], ['7', '12', 33], ['14', '22', 46]]
Run Code Online (Sandbox Code Playgroud)

如果在第一个位置存在另一个[k][0]已经发生相同元素的列表,那么我想删除该列表并得到以下结果:

L = [['14', '65', 76], ['2', '5', 6], ['7', '12', 33]]
Run Code Online (Sandbox Code Playgroud)

你能建议一种算法来实现这个目标吗?

python list

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

如何使用列表推导从列表中删除重复项?

如何使用列表推导从列表中删除重复项?我有以下代码:

a = [1, 2, 3, 3, 5, 9, 6, 2, 8, 5, 2, 3, 5, 7, 3, 5, 8]
b = []
b = [item for item in a if item not in b]
Run Code Online (Sandbox Code Playgroud)

但它不起作用,只产生相同的列表.为什么它产生相同的清单?

python list-comprehension

9
推荐指数
3
解决办法
2万
查看次数

将列表转换为集合然后再返回会导致Python出现问题吗?

我正在将一个列表转换为Python中的一个集合,如下所示:

request.session['vote_set'] = set(request.session['vote_set'])
Run Code Online (Sandbox Code Playgroud)

所以我可以轻松地进行if x in set查找并消除重复.然后,当我完成后,我重新转换它:

request.session['vote_set'] = list(request.session['vote_set'])
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?我可能会做一些危险(或愚蠢)的事情吗?

python

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

Python列表:这是在保留顺序的同时删除重复项的最佳方法吗?

可能重复:
如何在保留顺序的同时从Python中的列表中删除重复项?
算法 - 如何有效地删除列表中的重复元素?

我已经阅读了很多方法,可以在保留订单的同时从python列表中删除重复项.所有的方法似乎都需要创建一个函数/子例程,我认为这个算法效率不高.我想出了以下内容,我想知道这是否是计算效率最高的方法?(由于需要快速响应时间,我对此的使用必须是最有效的.)谢谢

b=[x for i,x in enumerate(a) if i==a.index(x)]
Run Code Online (Sandbox Code Playgroud)

python list duplicates

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