python3 operator模块和functools.reduce

operator 模块为 Python 提供了一个 “功能性” 的标准操作符接口. 当使用 map 以及 filter 一类的函数的时候, operator 模块中的函数可以替换一些 lambda 函式.
先import该模块
在这里插入图片描述再看reduce模块
可以对列表进行操作,列表元素可以是整数,列表,元组,字符串等。
在这里插入图片描述

例如leetcode-cn上的389题
给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。
代码如下:

import operator
from functools import reduce
class Solution:
	def findTheDifference(self, s, t):
		return chr(reduce(operator.xor, map(ord, s + t)))
"""
s+t,字符串拼接
ord,得到字符的ascii码
chr,得到ascii码对应的字符
map(func, *iterables) --> map object Make an iterator that
computes the function using arguments from each of the 
iterables. Stops when the shortest iterable is exhausted.
"""

参考:
https://www.cnblogs.com/kongweisi/p/10441776.html
https://blog.csdn.net/weixin_43969815/article/details/92814587
https://blog.csdn.net/u010339879/article/details/98304292

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值