【python】一行输入多个整数并排序输出

【Python】一行输入多个整数并排序输出

【例1】一行输入若干整数,用空格分隔,从小大大排序输出。
范例:

List = list(map(int,input().split()))
List.sort()
print(List)
  1. 如何一行输入多个值?
    我们使用input().split()的方法,进行输入和分隔。
    input()即输入函数,输入的数据类型都是字符串类型。
    split()既可以将多个字符互传进行分割切片。
    需要注意的是,通过split()分割的字符串返回的是列表。
a=input().split()
print(a,type(a))
#输入:1 2 3 4
#输出:['1', '2', '3', '4'] <class 'list'>

但列表中每个元素都是由字符串类型,进行题目中的排序要求会出错。

a=input().split()
a.sort()
print(a)
#输入:5 -8 8 20
#输出:['-8', '20', '5', '8']

同时可见,此方式输出的每个元素还是字符串。
2. 如何将列表中的每个元素转换成整数类型呢?
我们使用map()进行列表元素数据类型的转换。
map()并不是拥来改变列表元素数据类型的函数,而是对列表中的每个元素做映射。
此处我们使用int()将列表中的元素转换成整数类型。
但是,在Python3中map()返回的并不是列表而是迭代器。

a=map(int,input().split())
print(a,type(a))
#5 -8 8 20
#<map object at 0x04569630> <class 'map'>
  1. 如何将map()返回的结果转换为列表,并进行排序?
    我们使用list()将结果转换。并且使用sort()进行排序。
    在此默认进行的是升序排列,如果需要降序排列则需要如下操作:sort(reverse=True)
  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值