题目描述:
给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。
示例:
输入: [“Hello”, “Alaska”, “Dad”, “Peace”]
输出: [“Alaska”, “Dad”]
注意:
你可以重复使用键盘上同一字符。
你可以假设输入的字符串将只包含字母。
解题流程:
评论区解答:
class Solution:
def findWords(self, words: List[str]) -> List[str]:
lis=["qwertyuiop","asdfghjkl","zxcvbnm"]
lis2=list(filter(lambda i:all(j in lis[0] for j in i.lower()) or all(j in lis[1] for j in i.lower()) or all(j in lis[2] for j in i.lower()),words))
return lis2
总结:
- filter(function, iterable),返回一个迭代器对象,前面需加list()函数方可返回一个列表;
- lambda i 其中的i为形参。
参考文献;
https://www.runoob.com/python/python-func-all.html all函数
https://www.jianshu.com/p/4e494974547f lambda函数
https://www.runoob.com/python3/python3-func-filter.html filter()函数