Python从列表中删除包含其他列表中的子字符串的元素

马尔索莫斯

我有两个列表,并且我想删除列表l1中没有任何其他子字符串的元素l2我的列表如下:

l1 = ['PC||macOS||Xbox One||PlayStation 4||Nintendo Switch',
 'macOS||PC||Xbox One',
 'iOS',
 'PC||PlayStation 4',
 'PC',
 'Web',
 'PC||macOS',
 'PC||macOS||Linux',
 'PC||Linux',
 'PC||Web',
 'PC||Xbox One||PlayStation 4||Nintendo Switch',
 'PC||macOS||Linux||Web',
 'macOS||PC||Linux||PlayStation 4||Xbox One',
 'PC||Android',
 'PC||macOS||Linux||Android',
 'macOS||iOS||Linux||PC||PlayStation 4',
 'Linux',
 'PC||macOS||Web',
 nan,
 'Xbox One||PC||Nintendo Switch||PlayStation 4',
 'iOS||PC||macOS||Linux',
 'PC||macOS||Android||Web',
 'iOS||Linux||PC||macOS',
 'Android',
 'macOS||PC||Linux',
 'Linux||PC'
]

l2 = ['PC', 'macOS', 'Linux', 'mac', 'Web']

我要获得的是所有组合,l1因为只有的子字符串在中声明l2因此,在新列表中,我将没有包含“ Playstation 4”或“ iOS”或“ Xbox One”之类的单词的元素。就像是:

l3 = [
 'PC',
 'Web',
 'PC||macOS',
 'PC||macOS||Linux',
 'PC||Linux',
 'PC||Web',
 'PC||macOS||Linux||Web',
 'PC||macOS||Linux||Android',
 'Linux',
 'PC||macOS||Web',
 'macOS||PC||Linux',
 'Linux||PC'
]
Aplet123

进行l2一组快速查找,然后all与生成器理解一起使用:

l2_set = set(l2)
l3 = [x for x in l1 if all(chunk in l2_set for chunk in x.split("||"))]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果列表元素在Python中的其他列表中包含字符串模式,则将其删除

搜索列表以查看其是否包含存储在python中其他列表中的字符串

Python - 从列表中的字符串元素中删除子字符串?

Python:删除列表中至少由同一列表中其他一个字符串包含的字符串

如何检查列表的字符串元素是否在数据框/其他列表中(python)

在不更改列表原始顺序的情况下,删除列表中其他字符串的子字符串的字符串吗?

在字符串列表中,如何删除属于列表中其他字符串的字符串?

使用列表聚合/删除行中的字符串,同时保留其他值(python)?

列出字符串,这些字符串是列表中其他字符串的子字符串

如果列表中包含子字符串,则从字符串中删除子字符串

Linux:如果字符串在列表中的其他地方有子字符串,则从列表中删除它们

如何删除包含在同一字符串列表中的其他字符串中的字符串?

从类列表中包含的列表中删除字符串

从列表的元素中删除字符串-Python

从列表中删除所有字符串项,即列表中其他字符串项的前缀

从列表(或 DataFrame)中删除包含相同列表的子字符串

如何从包含日期和列表中其他字符串的字符串列表中解析月份?

删除字符串列表中包含特定字符串的元素

从包含子字符串的列表中删除元素,例如“ 67页的第1页”或“ 67页的第2页”

python根据其他列表从列表中删除元素

给定的字符串列表仅返回未包含在其他字符串中的字符串

从R中的其他字符串中删除包含括号和破折号的子字符串

在Pandas数据框中,删除列表列中的重复字符串,并删除其他列表列中的对应ID

从字符串列表中删除子字符串

确定字符串列表是否包含其他列表中所有字符串的子字符串

如何在列表中搜索在其任何属性值中包含子字符串的元素?

Python替换列表中的其他列表中的元素,并删除其他元素

包含列表和其他数据类型的字典字符串,而无需更改python中的数据类型

有效删除Ruby数组中其他元素的所有子字符串