相关疑难解决方法(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 - 独特词典列表

假设我有一个词典列表:

[
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]
Run Code Online (Sandbox Code Playgroud)

我需要获取一个唯一的字典列表(删除重复的字典):

[
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我在Python中实现这一目标的最有效方法吗?

python dictionary

135
推荐指数
11
解决办法
9万
查看次数

从字典中删除重复项

我有以下Python 2.7字典数据结构(我不控制源数据 - 来自另一个系统):

{112762853378: 
   {'dst': ['10.121.4.136'], 
    'src': ['1.2.3.4'], 
    'alias': ['www.example.com']
   },
 112762853385: 
   {'dst': ['10.121.4.136'], 
    'src': ['1.2.3.4'], 
    'alias': ['www.example.com']
   },
 112760496444: 
   {'dst': ['10.121.4.136'], 
    'src': ['1.2.3.4']
   },
 112760496502: 
   {'dst': ['10.122.195.34'], 
    'src': ['4.3.2.1']
   },
 112765083670: ...
}

字典键将始终是唯一的.Dst,src和别名可以是重复的.所有记录都将始终具有dst和src,但并非每条记录都必须具有第三条记录中显示的别名.

在样本数据中,前两个记录中的任何一个都将被删除(对我来说无关紧要).第三条记录将被认为是唯一的,因为虽然dst和src是相同的,但它缺少别名.

我的目标是删除所有重复dst,src和别名的记录 - 无论密钥是什么.

这个菜鸟怎么做到这一点?

另外,我对Python的有限理解将数据结构解释为字典,其值存储在字典中...这是一个dicts的字典,这是正确的吗?

python dictionary duplicates

31
推荐指数
2
解决办法
6万
查看次数

标签 统计

python ×3

dictionary ×2

duplicates ×2

list ×1

unique ×1