【Python】内置函数综合运用例题

s = input()  # '12345'

map(eval,s)
map(int,s)   # map object

sum(map(eval,s))  # 15

必须要将字符串s中的每个字符取出来,

不用循环的话只能用map,字符串s作为Iterable对象,返回结果的Iterator

Iterator可以直接用sum()计算

## 错误写法

s = input()       # '12345'

reversed(s)       # <reversed object at 0x0000028D5221BE50>

str(reversed(s))  #'<reversed object at 0x0000028D5221BEB0>'

"""
str()会将输出整个转变为字符串,而不是将对象转变为字符串,显然不可以
"""
## 正确解法1:只要能将reversed object正确插在字符串后面就可以了

''+join(reversed(s))

## 正确解法2:直接倒序切片

s[::-1]

## 老师给的答案:(个人感觉挺怪的)
from functools import reduce
from operator import add
reduce(add,reversed(s))

x = eval(input())  
"""
主要解决输入格式问题
输入: [1,2,3,4,5]
x:    [1,2,3,4,5]
"""
max(x)

x = eval(input())

filter(None,x)

list(filter(None,x))

"""
明显是filter()函数的应用,function==None时,会被假设为身份函数,留下返回True的表达式
"""

alist = eval(input())
res = [num for num in alist if num % 2 == 1]+[num for num in alist if num % 2 == 0]
print(res)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值