python - 如何识别在 python 中从 set() 中删除的元素?

标签 python python-2.7 csv python-3.x set

我尝试使用 python 的 set() 方法来查找列表中的唯一元素。删除所有重复项效果很好。但这是我的要求,我想获取使用 set() 方法删除的元素。任何人都可以帮助我吗?

a=[1,2,3,1,4]
b=set(a)
Output:[1,2,3,4]

我的预期输出是[1]。从set() 方法中删除的元素

最佳答案

您甚至不需要设置。您想要对出现不止一次的每个元素进行计数。集合计数器和字典理解应该可以帮助您实现目标。

from collections import Counter

a = [1, 1, 1, 2, 2, 3, 4]    
removed = {k: v-1 for k, v in Counter(a).iteritems() if v > 1}

>>> removed
Out[8]: {1: 2, 2: 1}

关于python - 如何识别在 python 中从 set() 中删除的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29249438/

相关文章:

algorithm - 寻找距离棋盘中心最远的移动 - python 2

python - 如何在 Ubuntu 中删除 Python2?

python - 如何在 Python 中删除 CSV 文件

csv - 比较 2 个 CSV Huge CSV Files 并使用 perl 将差异打印到另一个 csv 文件

python - python 中的分箱数据(散点图​​)?

python - argparse 选择允许值的结构

python - 获取 'av_interleaved_write_frame(): Broken pipe' 错误

Python CSV文件解析为日期时间,抛出时间格式错误

python - Azure 搜索和 elasticsearch-py

python - 如何从 Python 与 MATLAB 交互?