已知两个列表内都有数字,怎么把第二个列表里与第一列表不重复的数字合并到第一列表内然后从大到小排列?并用空格隔开,使用for循环写法
比如一个列表
list1=[1,2,3]
list2=[2,3,4]
正常合并是list1+=[2,3,4]
能不写具体列表二,直接list1和2进行合并吗?
然后排除重复的大概是需要一个在list1里检索list2对吗?就是有些避免重复的合并会用一个copy,说是因为如果直接在原列表进行检索原列表数据的位置会改变,就会导致最后输出还是会又重复的数据……
最后,跟for循环什么关系?是利用for循环遍历检索吗?
Python列表问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-sinJack 2023-04-13 14:44关注
可以使用以下步骤来实现:
- 将第二个列表中与第一列表不重复的数字筛选出来,可以使用集合的差集操作来实现,即
set(list2) - set(list1)。 - 将筛选出来的数字添加到第一列表中,可以使用列表的
extend()方法来实现,即list1.extend(list(set(list2) - set(list1)))。 - 对第一列表进行从大到小的排序,可以使用列表的
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)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录 - 将第二个列表中与第一列表不重复的数字筛选出来,可以使用集合的差集操作来实现,即