python3 operator模块和functools.reduce

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

例如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

你可能感兴趣的:(python3学习笔记)