Python 输入n个整数,输出其中最小的k个(华为机试)

输入 n 个整数,输出其中最小的 k 个

输入描述:
第一行输入两个整数 n 和 k
第二行输入一个整数数组

输出描述:
从小到大输出最小的 k 个整数,用空格分开;

示例:
输入:
5 2
1 3 5 7 2
输出:
1 2

while True:
    try:
        n, k = map(int, input().split())
        a = list(map(int, input().split()))
        a.sort()
        print(" ".join(map(str, a[:k])))
    except:
        break

【注】

map(func, seq1[, seq2...])

第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。

map() 函数是将 func 作用于 seq 中的每一个元素,并将所有的调用的结果作为一个 list 返回。

如果 func 为 None, 作用同 zip()

map(int, input().split()) 将输入的值通过空格分开,int 函数将其转换为整形数据,

map() 函数将输入的多个数据的结果生成一个迭代器 a,迭代器的结果可以通过 list(a) 打印出来。 

函数 string.join()

join(): 连接字符串数组,将字符串、元组、列表中的元素以指定的字符串连接生成一个新的字符串;

join() 函数语法:"sep".join(seq)

sep: 分隔符,可以为空;

seq: 要连接的元素序列、字符串、元组、字典

即:以sep 作为分隔符,将 seq 所有的元素合并成一个新的字符串;

返回值:返回一个以分隔符 sep 连接各个元素后生成的字符串;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值