python - 列表理解中的嵌套循环

标签 python list loops

我在 l 中有一个单词列表,如果其中任何单词存在于 l2 中每个元组的第一个索引中,则删除整个元组。

我的代码:

l = ['hi', 'thanks', 'thank', 'bye', 'ok', 'yes', 'okay']
l2 = [('hi how are u', 'doing great'), ('looking for me', 'please hold')]
l3 = [k for k in l2 if not any(i in k[0] for i in l) ]

不知何故代码不起作用,我得到了一个空的 l3 列表。

我要

l3 = [('looking for me', 'please hold')]

最佳答案

拆分 k[0] 得到单词列表:

[k for k in l2 if not any(i in k[0].split() for i in l)]

这样它会检查 i 是否与单词完全匹配。

它也可以解释为好像k[0] 不以任何l 开头,那么您可以这样做:

[k for k in l2 if not k[0].startswith(tuple(l))]

关于python - 列表理解中的嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40445937/

相关文章:

python - 如何在 Pandas 中对一列列表执行条件(考虑列表中的每个项目)

python - 如何让 Ipython 在元素后输出一个没有换行符的列表?

c# - 构建一个用于调整字体中字符的字距和间距的软件

python - 索引错误: list index out of range in a matrix

python - 从大于 2 维的 numpy 数组中选择随机窗口

java - 要映射的计时器类

python - 检查列表是否以另一个列表的元素开头

java - 如何在 Java 中每次迭代时清空循环内的缓冲区?

java - continue 不能在循环外使用(实际上不在循环外)

c - 将文件中的文本读入嵌套循环