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