python - 如何比较Python中的列表元素
问题描述
这里我有两个列表:
list1 = ['2C535EB58F19B58' , '7B89D9071EB531B143594FF909BAC846' , '0509']
list2 = ['1641AB0C9C5B8867' , '0098968C' , '509']
我需要将 list2 中的元素与 list1 元素进行比较。
我希望输出是,比较后:
509
因为 0509 中存在 509。
我怎样才能做到这一点?正则表达式可以帮助我吗?
解决方案
正如 BearBrown 在评论中已经提出的那样,有一种简单的方法可以实现您的目标。完全没有理由考虑正则表达式(in
-operator 足够强大)。
[x for x in list2 if any(y for y in list1 if x in y)]
在这里,您正在查找x
list2 中的每个字符串,如果它是 list1 中任何字符串的子字符串y
,最后将每个匹配的子字符串保存x
在一个新列表中。
推荐阅读
- javascript - Javascript中promise和@@iterator的问题
- javascript - JavaScript | 如何引用对象数组中特定数据的多个实例?
- owin - 如何在 .net 4.7 中关闭来自自托管 owin 服务器的 http 请求的 tcp 连接?
- reactjs - 无法使用 Electron React 样板配置 less-loader
- module - 输入 pip install numpy 时收到语法错误
- javascript - preventDefault() 不起作用,页面继续重新加载
- mongodb - 如何在没有时间的情况下比较 mongo 上的日期?
- django - Heroku 和 Django:找不到该进程类型(网络)
- reactjs - 无法使用道具将菜肴评论传递给组件
- lua - 为什么 Color3 值更改为错误的数字?