我有两个列表需要合并,其中第二个列表忽略第一个列表的任何重复项。 ..有点难以解释,所以让我展示一个代码的示例,以及我想要的结果。
first_list = [1, 2, 2, 5]
second_list = [2, 5, 7, 9]
# The result of combining the two lists should result in this list:
resulting_list = [1, 2, 2, 5, 7, 9]
您会注意到结果有第一个列表,包括它的两个“2”值,但 secondary_list 还具有附加 2 和 5 值的事实并未添加到第一个列表中。
通常对于这样的事情我会使用集合,但是first_list上的集合会清除它已经拥有的重复值。所以我只是想知道实现这种所需组合的最佳/最快方法是什么。
Thanks.
您需要将第二个列表中不在第一个列表中的元素附加到第一个列表 - 集合是确定它们是哪些元素的最简单方法,如下所示:
first_list = [1, 2, 2, 5]
second_list = [2, 5, 7, 9]
in_first = set(first_list)
in_second = set(second_list)
in_second_but_not_in_first = in_second - in_first
result = first_list + list(in_second_but_not_in_first)
print(result) # Prints [1, 2, 2, 5, 9, 7]
或者如果你更喜欢单行8-)
print(first_list + list(set(second_list) - set(first_list)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)