一个账号 发表于 2020-3-1 13:15:44

冬雪雪冬 发表于 2020-2-28 17:09


用集合的 issubset 方法判断所有元素是否在一个集合里,这种方法我还没想到{:10_275:}

一个账号 发表于 2020-3-1 13:28:01

def func(list1):
    row1 = "qwertyuiop"
    row2 = "asdfghjkl"
    row3 = "zxcvbnm"

    in1, in2, in3 = False, False, False
    result = []

    for word in list1:
      word = word.lower()

      for letter in word:
            if letter in row1:
                in1 = True

            if letter in row2:
                in2 = True

            if letter in row3:
                in3 = True

      if (in1 and not in2 and not in3) or (not in1 and in2 and not in3) or (not in1 and not in2 and in3):
            result.append(word)

      in1, in2, in3 = False, False, False

    return result

冬雪雪冬 发表于 2020-3-1 13:46:06

一个账号 发表于 2020-3-1 13:15
用集合的 issubset 方法判断所有元素是否在一个集合里,这种方法我还没想到

一开始就想到了用集合运算,但忘了如何求子集,还是现查的

永恒的蓝色梦想 发表于 2020-3-5 11:42:07

def function(strs):
    tp=({'t', 'o', 'i', 'w', 'u', 'y', 'r', 'p', 'q', 'e'},{'g', 'h', 'k', 'd', 'a', 'l', 'f', 's', 'j'},{'x', 'n', 'c', 'm', 'v', 'z', 'b'})
    rst=[]
    for i in strs:
      s=set(i.lower())
      if not all((s-k for k in tp)):
            rst.append(i)
    return rst

Geoffreylee 发表于 2020-3-6 18:19:18

def f_338(lst: list) -> list:
    line_one = 'qwertyuiop'
    line_two = 'asdfghjkl'
    line_three = 'zxcvbnm'

    return list(filter(lambda x: set(x.lower()).issubset(line_one) or
                                 set(x.lower()).issubset(line_two) or
                                 set(x.lower()).issubset(line_three), lst))

print(f_338(["Hello", "Alaska", "Dad", "Peace"]))

776667 发表于 2021-5-28 10:05:52

def fun338(x):
    result = []
    line = ['QWERTYUIOP','ASDFGHJKL','ZXCVBNM']
    upper_x =
    for i in range(len(x)):
      for j in line:
            for n in upper_x:
                if n not in j:
                  break
            else:
                result.append(x)
                break
    return result
页: 1 2 3 [4]
查看完整版本: Python:每日一题 338