python基础编程题100-Python随笔30:Python基础编程练习题25~26

注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。

注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。

20191223222915_b4d844e93395107558d45288ad2196b2_1.jpeg

Python编程

Python基础练习题25:合并两个列表并去重

输入两个列表alist和blist,要求列表中的每个元素都为正整数且不超过10(各自列表中不含重复元素);合并alist和blist,并将两个列表相互重复的元素去掉后输出一个新的列表clist。

同时为保证输出结果一致,请将集合内元素排序之后再输出。如对于列表alist,可输出sorted(alist)。

输入格式:

共两行,每一行都用来输入列表中的元素值,以空格隔开。

输出格式:

共一行,以列表形式打印输出。

输入样例:1 2 34 3 2

输出样例:[1234]

解答:解决的思路是,先在其中一个列表中去重两个列表共有的元素,再把两个列表合并到一个列表当中,并排序即可。

问题的难点在于如何去重。因为列表具有可变性,非常灵活,在变化的过程中可能出现元素减少等不确定情况。这时我们可以想办法让其变得"不可变”,才更有利于去重。

列表和元组的性质相当类似,最大的区别就是,一个是可变的,一个是不可变的。于是我们想到了列表元组互相转换的方法。alist=list(map(intinput().split()))blist=list(map(intinput().split()))t = tuple(alist) # 将具有可变性的列表转换为不可变的元组。for i in t: # 元组可防止列表可变之后产生不确定的错误。 if i in blist: alist.remove(i) # 在alist中去重和blist公有的元素。lst = alist blist # 去重后的两个列表拼接成一个新的列表。print(sorted(lst))

Python基础练习题26:列表元素绝对值排序

输入一个列表,要求列表中的每个元素都为整数;

将列表中的所有元素按照它们的绝对值大小进行排序,绝对值相同的还保持原来的相对位置,打印排序后的列表(绝对值大小仅作为排序依据,打印出的列表中元素仍为原列表中的元素)。

输入格式:

共一行,列表中的元素值,以空格隔开。

输出格式:

共一行,为一个列表。

输入样例:-2 1 3

输出样例:[1 -2 3]

解答:列表的排序有sorted(list)和list.sort()两个常用的途径。它们可以采用一个可选参数key来根据key这个指标进行排序,详见本系列之前的文章:Python内置序列函数之reversed、sorted函数。 alist=list(map(intinput().split()))alist = sorted(alist key=lambda x: abs(x))# 也可以用alist.sort(key=lambda x: abs(x))print(alist)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值