已知两个列表,删除在两个列表都存在的数据,并显示结果。

已知两个列表,删除在两个列表都存在的数据,并显示结果。例如:[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的函数,它接受两个列表参数list1list2。函数首先创建空列表unique_list1unique_list2,用来存放处理后的结果。然后,它遍历列表list1,如果元素不在list2中,就把它添加到unique_list1中。接下来,它遍历list2,如果元素不在list1中,就把它添加到unique_list2中。最后,函数返回处理后的两个列表。
在主程序中,我们定义了list1list2的值,并调用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. 首先,我们创建两个空列表 result1result2,用于存储处理后的结果。 2. 然后,我们遍历第一个列表 list1 中的元素,如果当前元素不在第二个列表 list2 中,就将其添加到 result1 中。 3. 接着,我们遍历第二个列表 list2 中的元素,如果当前元素不在第一个列表 list1 中,就将其添加到 result2 中。 4. 最后,我们使用 return 语句返回处理后的两个新列表 result1result2

这样,我们就完成了删除两个列表中共同存在的数据,并返回处理后的新列表的功能。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^