我有这个列表:
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/