您不能这样做,因为您需要在每次迭代时跟踪所看到的元素,这不是您可以用该语法做的事情。将列表与顺序统一的方法是使用
OrderedDict
(或者只是用python3.7+听写)。
>>> from collections import OrderedDict
>>> [k for k in OrderedDict.fromkeys([1, 2, 1, 3])]
[1, 2, 3]
你实际上不需要理解清单。
>>> list(OrderedDict.fromkeys([1, 2, 1, 3]))
[1, 2, 3]