鱼C论坛

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

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

[复制链接]
发表于 2020-2-29 22:12:56 | 显示全部楼层

手残党,贴代码的时候手残了

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
zltzlt + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 13:15:44 | 显示全部楼层

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

使用道具 举报

发表于 2020-3-1 13:28:01 | 显示全部楼层
  1. def func(list1):
  2.     row1 = "qwertyuiop"
  3.     row2 = "asdfghjkl"
  4.     row3 = "zxcvbnm"

  5.     in1, in2, in3 = False, False, False
  6.     result = []

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

  9.         for letter in word:
  10.             if letter in row1:
  11.                 in1 = True

  12.             if letter in row2:
  13.                 in2 = True

  14.             if letter in row3:
  15.                 in3 = True

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

  18.         in1, in2, in3 = False, False, False

  19.     return result
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

发表于 2020-3-5 11:42:07 | 显示全部楼层
  1. def function(strs):
  2.     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'})
  3.     rst=[]
  4.     for i in strs:
  5.         s=set(i.lower())
  6.         if not all((s-k for k in tp)):
  7.             rst.append(i)
  8.     return rst
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 18:19:18 | 显示全部楼层
  1. def f_338(lst: list) -> list:
  2.     line_one = 'qwertyuiop'
  3.     line_two = 'asdfghjkl'
  4.     line_three = 'zxcvbnm'

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

  8. print(f_338(["Hello", "Alaska", "Dad", "Peace"]))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 00:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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