日常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日
  • 展开全部

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大