日常emo 2023-04-13 14:15 采纳率: 94.7%
浏览 27
已结题

Python列表问题

已知两个列表内都有数字,怎么把第二个列表里与第一列表不重复的数字合并到第一列表内然后从大到小排列?并用空格隔开,使用for循环写法
比如一个列表
list1=[1,2,3]
list2=[2,3,4]
正常合并是list1+=[2,3,4]
能不写具体列表二,直接list1和2进行合并吗?
然后排除重复的大概是需要一个在list1里检索list2对吗?就是有些避免重复的合并会用一个copy,说是因为如果直接在原列表进行检索原列表数据的位置会改变,就会导致最后输出还是会又重复的数据……
最后,跟for循环什么关系?是利用for循环遍历检索吗?

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2023-04-13 14:44
    关注

    可以使用以下步骤来实现:

    1. 将第二个列表中与第一列表不重复的数字筛选出来,可以使用集合的差集操作来实现,即 set(list2) - set(list1)
    2. 将筛选出来的数字添加到第一列表中,可以使用列表的 extend() 方法来实现,即 list1.extend(list(set(list2) - set(list1)))
    3. 对第一列表进行从大到小的排序,可以使用列表的 sort() 方法来实现,即 list1.sort(reverse=True)
    list1=[1,2,3]
    list2=[2,3,4]
    
    list1.extend(list(set(list2) - set(list1)))
    list1.sort(reverse=True)
    
    print(list1)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月14日
  • 已采纳回答 4月14日
  • 修改了问题 4月13日
  • 修改了问题 4月13日
  • 展开全部