【发布时间】:2020-07-06 12:36:55
【问题描述】:
请注意,与此特定问题类似的问题尚未出现。但不同的存在。因此发布问题以征求建议。
它用于从嵌套列表中删除单个列表项中的重复项并保留顺序。
请参阅下面的问题以获取更多详细信息并提出建议。
list_1 = [['A1', 'B1', 'A1'],
['A2', 'B2', 'B2'],
['A3', 'B3', 'C3']]
list_1 中的第一项有 2 个“A1”,第二项有 2 个“B2”,第三项中没有重复项。因此需要消除第一和第二项中的欺骗,并且还需要保留订单。
预期输出列表如下:
list_op = [['A1', 'B1'],
['A2', 'B2'],
['A3', 'B3', 'C3']]
注意:以下解决方案是根据需要从嵌套列表中删除重复项,但在删除重复项后不保留单个列表项中的顺序。
[list(set(sub_list)) for sub_list in list_1]
【问题讨论】:
-
using
map():#Data:list_1 = [['A1', 'B1', 'A1'], ['A2', 'B2', 'B2'], ['A3', 'B3', 'C3']]#删除重复的列表元素:[*map(lambda x: [*sorted(set(x), key=x.index)], list_1)] -
来自骗子answer:
l2 = [list(dict.fromkeys(inner)) for inner in list_1]用于python 3.6+,其中字典键插入顺序保持
标签: python list list-comprehension nested-lists