第n小的数

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],直接修改列表本身

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值