哈啰,欢迎大家收看我的频道。今天我们继续python编程100题。今天我们来看看第九题和第十题。话不多说我们马上开始。
9.如何在列表中去重
题目要求,把列表元素中重复的元素删除。例如:lista = [1. 2. 2. 3. 4. 4. 5. 6] 输出结果为:listb = [1. 2. 3. 4. 5. 6]就是这样,把重复的元素删掉。下面是我们的解答思路:
解答:
首先呢,我们可以想到,利用循环的方式。我们新建一个列表。
然后,对初始列表的每个元素进行for循环,选取每个元素,如果这个元素不在我们新建的列表里时,我们就把整个元素加入进去,反之则不加。直到我们将每个元素都循环一遍后。
最后,确定返回值,输出即可。理论成立,代码如下:
def quchong(a):
result = []
for n in a:
if n not in result:
result.append(n)
return result
a = [1, 2, 2, 3, 4, 4, 5, 6]
print("去重后的列表为:", quchong(a))
结果如下:
那么我们直接来看第十题。
10.怎样对简单列表进行排序
题目要求:对简单的列表进行排序。例如[5, 9 ,10, 6, 8,],对这个列表进行排序结果输出为[5, 6, 8, 9, 10]。或者列表['b', 'd', 'e', 'a', 'c'],对这个列表排序,输出结果为:['a', 'b', 'c', 'd', 'e']。我们又该如何处理这样的题呢?
解答:
我们要知道简单列表的概念。所谓简单列表就是说,元素类型比较单一,并不是复合类型的情况,称为简单列表。而我们又知道,排序,有升序和降序之分,我们又该如何确定排序的方式呢?
这里我们要用到python中自带的一个功能——sort,这个功能可以实现列表的自动升序排列。而s = s[::-1]:,这个功能又可以完成列表的倒序输出。那么我们所有想要的功能就完全可以实现。那么理论存在,代码如下:
x = [5, 6, 8, 9, 10]
y = ['a', 'b', 'c', 'd', 'e']
x.sort()
y.sort()
print(f"重排的列表为:{x}和{y}")
输出结果:
下面我们利用s = s[::-1]来进行逆向输出,代码如下:
x = [5, 6, 8, 9, 10]
y = ['a', 'b', 'c', 'd', 'e']
x.sort()
y.sort()
x = x[::-1]
y = y[::-1]
print(f"重排的列表为:{x}和{y}")
结果如下:
那么我们可以看到,这次输出的次序与之前的截然相反,这道题就算到此结束了。
如果大家有更好的想法或者思路,欢迎大家讨论,我们共同进步!