python - 在链接和分组列表列表时反转子列表

标签 python python-3.x

我有这个列表:

nodes = [
    ["630505499", "630507607"], 
    ["630507607", "633597294"], 
    ["630512154", "633597294"],  # needs to be flipped before grouping
    ["630512154", "630512151"]
]

并想要这个结果:

["630505499", "630507607", "633597294", "630512154", "630512151"]

现在,我只有在不需要翻转任何内容时才可以使用:

[x[0] for x in itertools.groupby(itertools.chain(*nodes))]

最佳答案

我想你想要一个OrderedDict和链,OrderedDict 将删除重复项,同时保留顺序:

import itertools
from collections import OrderedDict
print(list(OrderedDict.fromkeys(itertools.chain(*nodes)).keys()))

['630505499', '630507607', '633597294', '630512154', '630512151']

我不明白 groupby 如何真正适合您想要做的事情。

关于python - 在链接和分组列表列表时反转子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31706769/

相关文章:

python - 在 __add__ 运算符中返回相同子类的对象

python - 当 value 是 cls 的实例时,您可以注释返回类型吗?

Python 获取 ansible msg 输出作为 var

python-3.x - callable() 的替代方法,用于 Python 3

python - Django 和 Python 6 兼容模块

python - 基于其他列创建 DataFrame 列(更快的解决方案)

python - 如何在 Python 中高效地创建随机动态图?

python - 逆时针旋转矩阵也会改变原始矩阵

python - x, = ... - 这个尾随逗号是逗号运算符吗?

python - 如何让反斜杠符号显示出来?