鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[已解决]Python:每日一题 338

[复制链接]
发表于 2020-3-1 13:15:44 | 显示全部楼层

用集合的 issubset 方法判断所有元素是否在一个集合里,这种方法我还没想到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

一开始就想到了用集合运算,但忘了如何求子集,还是现查的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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"]))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-28 10:05:52 | 显示全部楼层
def fun338(x):
    result = []
    line = ['QWERTYUIOP','ASDFGHJKL','ZXCVBNM']
    upper_x = [i.upper() for i in x]
    for i in range(len(x)):
        for j in line:
            for n in upper_x[i]:
                if n not in j:
                    break
            else:
                result.append(x[i])
                break
    return result
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 18:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表