如何用最少代码实现两个字符串列表的内容统一?
实现两个列表合并为包含所有元素的相同列表
最简写法(不保证元素顺序)
利用集合自动去重的特性,一行代码完成合并:
list1_final = list2_final = list(set(list1 + list2))
集合会自动剔除重复元素,最终两个列表完全一致,缺点是元素顺序会被打乱。
保留原列表顺序(匹配示例输出)
如果需要维持原列表的元素顺序,再追加对方独有的元素,可以用列表推导式实现:
list1_final = list1 + [x for x in list2 if x not in list1] list2_final = list2 + [x for x in list1 if x not in list2]
也可以压缩成一行代码:
list1_final, list2_final = list1 + [x for x in list2 if x not in list1], list2 + [x for x in list1 if x not in list2]
处理后两个列表会包含所有元素,且内容完全相同,同时保留原列表的元素顺序。
内容的提问来源于stack exchange,提问作者VGB
相关产品推荐
相关产品推荐

