Python挑战练习-17题
编写一个Python程序,找出列表中第n小的整数。
-
定义函数
find_nth_smallest()
,该函数接受整数列表numbers_list
和整数n
作为参数。 -
在函数内部,返回列表中第
n
小的整数。 -
如果
n
大于列表的长度,则返回None
。def find_nth_smallest(numbers_list, n): # 此处编写你的代码 numbers_list.sort() if n>len(numbers_list): return None else: return numbers_list[n-1] # 将输入的整数转换为列表 numbers_list = list(map(int, input().split())) # 获取n的输入 n = int(input()) # 调用函数 print(find_nth_smallest(numbers_list, n))
注意:
-
sort
方法是对原列表进行原地排序,它的返回值是None
,而不是排序后的列表。sorted函数和sort方法的区别与联系
-
相似:起到排序的作用
-
区别:①返回值不同
sorted函数
:它会返回一个新的已排好序的可迭代对象,原可迭代对象本身不会被修改。
original_list = [3, 1, 2]
sorted_list = sorted(original_list)
print(original_list) # 输出: [3, 1, 2],原列表不变
print(sorted_list) # 输出: [1, 2, 3],返回新的排序后的列表
sort方法
:它是直接对调用它的可迭代对象(如列表)进行原地排序,没有返回值(或者说返回值为None
)
original_list = [3, 1, 2]
result = original_list.sort()
print(original_list) # 输出: [1, 2, 3],原列表被修改
print(result) # 输出: None
②调用方式不同
sorted函数
:它的语法是sorted(iterable, key=None, reverse=False)
,其中iterable
是要排序的可迭代对象,key
是一个可选的函数,用于指定排序的依据(例如按照元素的某个属性或经过某个函数处理后的结果进行排序),reverse
是一个可选的布尔值,用于指定是否降序排序。它可以对任何可迭代对象进行排序,如列表、元组、集合(返回排序后的列表)、字典(返回排序后的键列表)等。例如:
tuple_example = (3, 1, 2)
sorted_tuple = sorted(tuple_example)
print(sorted_tuple) # 输出: [1, 2, 3],对元组排序返回新列表
sort方法
:它是列表对象的一个内置方法,语法是list.sort(key=None, reverse=False)
,只能用于列表对象。例如:
list_example = [3, 1, 2]
list_example.sort()
print(list_example) # 输出: [1, 2, 3],直接修改列表本身