python - 从列表中返回半唯一值

标签 python ipython python-3.5

不知道怎么表达这个,但假设我有一个包含以下序列的列表:

[a,a,a,b,b,b,a,a,a]

我想返回:

[a,b,a]

原则上如何做到这一点?

最佳答案

您可以使用 itertools.groupby,这会将连续的相同元素分组在同一组中,并返回键值对的迭代器,其中键是您要查找的唯一元素:

from itertools import groupby  

[k for k, _ in groupby(lst)]
# ['a', 'b', 'a']

lst = ['a','a','a','b','b','b','a','a','a']

关于python - 从列表中返回半唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41497600/

相关文章:

python - 如何在不重新加载的情况下返回主页

python - 在 python 解释器中输入一个对象的名称 - 它调用什么方法?

python - 如何将参数传递给 Python 3 中的自定义静态类型提示?

函数中的 Python 列表引用。

python - 为什么我无法查看数据框中的更多行?

python - 根据下一个值更新 Pandas 数据框

python - Matplotlib(Seaborn) set_xticks 与日期时间和时间增量意外工作

python - 如何在 django shell 中重新加载模块?

algorithm - 时间序列的tensorflow lstm模型

python-3.x - 预期整数类型 : Python 3. 5 类型提示和 Pycharm