统计最大整数(map函数)

文章讲述了如何在Python中使用map函数处理输入的整数列表,以找出最大值。作者首先介绍了常规方法和错误示例,然后展示了如何利用map函数结合int转换和for循环找到最大值,最后提出了使用map函数和lambda表达式处理多个自定义函数的困惑。
摘要由CSDN通过智能技术生成

今日题目

题目描述

输入多个整数(一行),输出其中最大的整数

输入格式

一行多个整数,用空格隔开

输出格式

一个整数

解题思路 

将这些整数放到列表中,用max函数求取最大值,是不是感觉so easy,坑来啦!

按这个构思写代码

a=input().split()
b=list(a)
print(max(b))

进行输出,输入1 2 3 4 5 6,完美,没有问题,接着输入-10 -3 0 0 12 3,得到3明显不对 

 再看变量,列表确实是对的,列表里的值也是对的,找半天就是找不到问题

 就看题解,发现解法里出现map函数,闻所未闻哈哈,学习一哈

map函数

map(function, iterable)   

其中function:一个函数或方法         iterable:一个或多个序列(可迭代对象)

map() 函数的作用是:对序列 iterable 中每一个元素调用 function 函数,返回一个map对象实例。这个map对象本质上来讲是一个迭代器。

用法1

可迭代对象传递给map()函数,然后map()函数将这个可迭代对象传入自定义函数。

def function(x):
    return x+2
iterable=[12,23,34]
gu=map(function,iterable)
print(list(gu))

 用法2

可迭代对象传递给map()函数,然后map()函数将这个可迭代对象进行数据类型转换。

a=[1,2,3,4,5]
ls=[]
b=map(float,a)
print(list(b))

 用法3

多个可迭代对象传递给map()函数,传入自定义函数

def function(x,y):#注意有两个变量输入,要有两个参数
    return x+y
iterable=[12,23,34]
iterable_2=[13,14,45]
gu=map(function,iterable,iterable_2)
print(list(gu))

  用法4

可迭代对象传送给map()函数,,然后map()函数将这个可迭代对象传入多个自定义函数

# 函数1
def add(x):
    return x + x

# 函数2
def square(x):
    return x * x

# 数据
nums = [1, 2, 3, 4, 5]


# 逐个取数处理
for i in nums:
    
    # lambda为处理函数,分别将add和square传给lambda
    vals = list(map(lambda x: x(i),(add, square)))

    print(vals)

解题方法1

a=input().split()
ls=[]
for i in a:
    ls.append(i)
print(max(map(int,ls)))

 解题方法2 

a=input().split()
b=list(a)
print(max(map(int,b)))

 用法4有点读不懂,求解,谢谢

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值