Python中文
首页
教程
问答
标签
搜索
登录
注册
在两个列表中搜索regex match,如果存在则弹出
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有两张单子</p> <pre><code>list_one = ['aaa1a', 'bbb21ba', 'ccc4ba', 'qqq55ca'] list_two = ['eee21a', 'sws21ba', 'pop4ba', 'qqq55de'] </code></pre> <p>最后一个数字后面的字母代表一个区域;我已经可以用regex找到这个区域了</p> <pre><code>regex = re.compile(r"[^[0-9]+$") reg_list = [] for i in list_one: reg_list.append(regex.findall(i)) </code></pre> <p>这会给</p> <pre><code>reg_list = [u'a', u'ba', u'ba', u'ca'] </code></pre> <p>我想搜索list\u two以检查它的任何项是否与我的注册表中的任何项匹配,如果匹配,请将其从该列表中删除。所以我会以</p> <pre><code>list_two = ['qqq55de'] </code></pre> <p>因为“de”是唯一不在列表中的位置。我现在的代码是</p> <pre><code>for i in list_one: for j in list_two: find_location = regex.findall(j) if a == find_location: list_two.pop(j) </code></pre> <p>但我得到了错误</p> <pre><code>TypeError: expected string or buffer </code></pre> <p>有没有更好的方法?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>假设您已经获得了<code>reg_list</code>,现在可以使用<code>filter</code>:</p> <pre><code>filter(lambda x: re.findall(regex, x)[0] not in reg_list, list_two) </code></pre> <p>我不喜欢在看不懂的时候把所有的东西都衬起来。只需考虑最具可读性(当然也是最有效的)解决方案。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
4 回答
如何在乒乓球游戏中阻止球
8 回答
如何在乘法和模中不乘空间?
7 回答
如何在乘法和除以2个不同的数字之间进行交换?
3 回答
如何在也是数据一部分的单个字符上拆分大字符串
8 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
2 回答
如何在事件wxWidgets中传递自定义数据
4 回答
如何在事件中使用lambda i=i?
6 回答
如何在事件中心只接收最近的数据
6 回答
如何在事件发生之前保持云函数运行?
6 回答
如何在事件发生后使页面重定向到同一页面
5 回答
如何在事件回调之间保持python生成器的状态
1 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
9 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
9 回答
如何在事件处理程序中访问外部对象?
5 回答
如何在事件循环中将协程打包为正常函数?
7 回答
如何在事件循环之外运行协同程序?
6 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
4 回答
如何在事件文件中只保留一份摘要?
2 回答
如何在事件模板中添加事件
6 回答