已知两个列表,删除在两个列表都存在的数据,并显示结果。例如:[2,4,6,8,10,12,12][3,3,5,6,7,8,9,11,11,12]处理后结果:[2,4,10][3,3,5,7,9,11,11]二、编程要求自定义一个函数,输入两个列表参数,返回两个处理后的新列表
引用 皆我百晓生 小程序回复内容作答:
你可以使用以下代码来实现你的需求:
def delete_common_elements(list1, list2):
unique_list1 = []
unique_list2 = []
for item in list1:
if item not in list2:
unique_list1.append(item)
for item in list2:
if item not in list1:
unique_list2.append(item)
return unique_list1, unique_list2
list1 = [2,4,6,8,10,12,12]
list2 = [3,3,5,6,7,8,9,11,11,12]
result1, result2 = delete_common_elements(list1, list2)
print(result1)
print(result2)
这段代码定义了一个名为delete_common_elements
的函数,它接受两个列表参数list1
和list2
。函数首先创建空列表unique_list1
和unique_list2
,用来存放处理后的结果。然后,它遍历列表list1
,如果元素不在list2
中,就把它添加到unique_list1
中。接下来,它遍历list2
,如果元素不在list1
中,就把它添加到unique_list2
中。最后,函数返回处理后的两个列表。
在主程序中,我们定义了list1
和list2
的值,并调用delete_common_elements
函数来获取处理后的结果。最后,我们打印出结果。
def remove_common_elements(list1, list2):
set1 = set(list1)
set2 = set(list2)
# 找出两个list的公共元素
common_elements = set1.intersection(set2)
# 删除两列表中的公共元素
processed_list1 = [x for x in list1 if x not in common_elements]
processed_list2 = [x for x in list2 if x not in common_elements]
# 返回结果
return processed_list1, processed_list2
def drop_duplicate(lst1, lst2):
return [i for i in lst1 if i not in lst2], [i for i in lst2 if i not in lst1]
【以下回答由 GPT 生成】
from typing import List, Tuple
def remove_common_elements(list1: List[int], list2: List[int]) -> Tuple[List[int], List[int]]:
# 创建一个新列表result1和result2来存储处理后的结果
result1 = []
result2 = []
# 遍历第一个列表中的元素
for num in list1:
# 如果当前元素不在第二个列表中,将其添加到result1中
if num not in list2:
result1.append(num)
# 遍历第二个列表中的元素
for num in list2:
# 如果当前元素不在第一个列表中,将其添加到result2中
if num not in list1:
result2.append(num)
# 返回处理后的两个列表
return result1, result2
# 示例数据
list1 = [2,4,6,8,10,12,12]
list2 = [3,3,5,6,7,8,9,11,11,12]
# 调用函数并打印结果
result = remove_common_elements(list1, list2)
print(result)
运行以上代码,输出结果为:
([2, 4, 10], [3, 3, 5, 7, 9, 11, 11])
解决方案说明: 1. 首先,我们创建两个空列表 result1
和 result2
,用于存储处理后的结果。 2. 然后,我们遍历第一个列表 list1
中的元素,如果当前元素不在第二个列表 list2
中,就将其添加到 result1
中。 3. 接着,我们遍历第二个列表 list2
中的元素,如果当前元素不在第一个列表 list1
中,就将其添加到 result2
中。 4. 最后,我们使用 return
语句返回处理后的两个新列表 result1
和 result2
。
这样,我们就完成了删除两个列表中共同存在的数据,并返回处理后的新列表的功能。
【相关推荐】