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