用模式的每个字母去当做key对应单词列表的每个字母value,

如果放进dict之前检测到key已经存在,就检测Word[i][j]是否是和已经存在的value一致,不一致就代表不匹配,break检查下一个Word

还有可能不一样的key对应了一样的value,这种情况也要去掉,把dict的value去重一下,比较长度有没有变化,没有变化就代表匹配,最后输出结果。

 class Solution(object):
def findAndReplacePattern(self, words, pattern):
"""
:type words: List[str]
:type pattern: str
:rtype: List[str]
"""
result = []
a = []
flag = True
for i in range(len(words)):
dic = {}
for j in range(len(words[i])):
if pattern[j] not in dic:
dic[pattern[j]] = words[i][j]
elif dic[pattern[j]] != words[i][j]:
flag = False
break
z = set(dic.values()) if flag and len(z) == len(dic):
result.append(words[i])
a.append(dic)
flag = True
return result

最新文章

  1. 使用Python解析JSON数据
  2. 第十篇.bootstrap轮播
  3. Maven项目自动生成mybaties配置文件
  4. 关于Chrome Dev Tool
  5. Java中如何使封装自己的类,建立并使用自己的类库?
  6. oracle查看表锁及解锁
  7. 使用SourceTree Push 出现 POST git-receive-pack (chunked) 的解决方法
  8. sqlserver 操作技巧
  9. Android两个注意事项.深入了解Intent和IntentFilter(两)
  10. python+appium+unittest自动化测试框架环境搭建
  11. 算法题丨Next Permutation
  12. linux下mysql修改字符集
  13. MD 的常用语法格式
  14. 初学python---排序
  15. Swagger Editor Linux安装(全新环境)
  16. mybatis多表关联查询之resultMap单个对象
  17. uvalive 4848 Tour Belt
  18. 【BZOJ1787】[Ahoi2008]Meet 紧急集合 LCA
  19. docker 数据卷 ---- 基础篇
  20. SpringBoot 中解决跨域请求

热门文章

  1. TP5 生成二维码
  2. keras 入门整理 如何shuffle,如何使用fit_generator 整理合集
  3. Touch Gesture手势总结
  4. laravel 错误提示Fatal Error: Class 'Pheanstalk\Pheanstalk' not found
  5. http-server让你在任何目录下都可以创建web服务
  6. install kali on my x200
  7. 关于html2canvas跨域设置
  8. easyui获取正在编辑行的代码
  9. Python:从入门到实践--第四章--列表操作--练习
  10. python基础(九)