Day26

作者: wendy_要努力努力再努力 | 来源:发表于2017-12-04 15:02 被阅读0次
  1. Reverse Words in a String III
    思路:将句子里的每个单词的字母倒序,但是不改变单词的顺序。
  • join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
def reverseWords(self, s):
    return ' '.join(x[::-1] for x in s.split())

  1. Keyboard Row
    思路:判断字符串列表中哪些字符串符合字母都在键盘的同一行。
  • filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
    filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) = [1, 3, 5, 7, 9]
  • map() 会根据提供的函数对指定序列做映射。
    map(square, [1,2,3,4,5]) = [1, 4, 9, 16, 25]
  • set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集&、差集-、并集|等。
    set('runoob') = (set(['b', 'r', 'u', 'o', 'n'])
class Solution(object):
    def findWords(self, words):
        """
        :type words: List[str]
        :rtype: List[str]
        """
        set1 = map(set,['qwertyuiop','asdfghjkl','zxcvbnm'])  #映射成set元素集
        word_1 = []
        for word in words:
            a = set(word.lower())    #映射成set元素集
            if any(a <= rset for rset in set1):
                word_1.append(word)
        return word_1
class Solution(object):
    def findWords(self, words):
        """
        :type words: List[str]
        :rtype: List[str]
        """
        return filter(re.compile('(?i)([qwertyuiop]*|[asdfghjkl]*|[zxcvbnm]*)$').match, words)   #正则表达式匹配法

相关文章

网友评论

      本文标题:Day26

      本文链接:https://www.haomeiwen.com/subject/jmtzbxtx.html