鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: MSK

[技术交流] Python:每日一题 79(答题领鱼币)

[复制链接]
发表于 2017-9-13 09:29:19 From FishC Mobile | 显示全部楼层
看看答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-13 09:58:36 | 显示全部楼层
  1. def compare(s1,s2):
  2.     for i in s1:
  3.         if i not in s2:
  4.             return False
  5.     for j in s2:
  6.         if j not in s1:
  7.             return False
  8.     return True
  9. s1 = 'good day'
  10. s2 = 'goodday'
  11. s3 = 'gdooa dy'
  12. print(compare(s1,s2))
  13. print(compare(s1,s3))
复制代码


结果:
  1. False
  2. True
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-13 10:03:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-22 20:38:27 | 显示全部楼层
  1. def test_no_repeat(s1,s2):
  2.     l1 = list(s1)
  3.     l2 = list(s2)
  4.     l1.sort()
  5.     l2.sort()
  6.     return l1 == l2

  7. def test_repeat(s1,s2):
  8.     return set(s1) == set(s2)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-5 14:40:31 | 显示全部楼层
  1. def fun1(s1, s2): # s1内字符可以重复使用
  2.     s = set(s2)
  3.     for i in s:
  4.         if i not in s1:
  5.             return False
  6.     return True

  7. def fun2(s1, s2):# s1内字符不可以重复使用
  8.     # 计算s2内字符种类及个数
  9.     s = set(s2)
  10.     dictS2 = {}
  11.     for i in s:
  12.         dictS2[i] = s2.count(i)
  13.     # S1中相应的字符个数应该大于等于S2中字符个数
  14.     enough = []
  15.     for i in dictS2:
  16.         if s1.count(i) >= dictS2[i]:
  17.             enough.append(True)
  18.         else:
  19.             enough.append(False)
  20.     if sum(enough) == len(s):
  21.         return True
  22.     else:
  23.         return False

  24. print(fun1('abct','bat')) # True
  25. print(fun2('abt','batt')) # False
  26.    
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-29 20:58:27 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-20 11:17:06 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2019-8-20 11:22 编辑

可以重复使用:
  1. lambda s1,s2:all((i in s1 for i in set(s2)))
复制代码

不可以重复使用:
  1. lambda s1,s2:all((s1.count(i)>=s2.count(i)for i in set(s2)))
复制代码

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

使用道具 举报

发表于 2019-8-20 11:57:58 | 显示全部楼层
学习来了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-20 15:24:34 | 显示全部楼层

新手,借鉴一下,嘿嘿
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-20 17:47:06 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-12 13:55:54 | 显示全部楼层
  1. from collections import Counter

  2. # 可重复使用
  3. def f_79_dup_use(str1, str2):
  4.     return True if Counter(set(str1)) == Counter(set(str2)) else False

  5. # 不可重复使用
  6. def f_79_no_dup_use(str1, str2):
  7.     return True if Counter(str1) == Counter(str2) else False

  8. print(f_79_dup_use('ohel', 'hello'))
  9. print(f_79_no_dup_use('ohel', 'hello'))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 10:14:34 | 显示全部楼层
使用permutations模块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-1 09:59:43 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-9 09:05:11 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 14:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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