首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何查看字符串是否包含列表中的所有子字符串?[Python]

如何查看字符串是否包含列表中的所有子字符串?[Python]
EN

Stack Overflow用户
提问于 2016-08-17 08:58:32
回答 5查看 4.1K关注 0票数 4

下面是一个场景:

我有一长串的时间戳文件名,在时间戳前后都有字符。

就像这样:prefix_20160817_suffix

我想要的是一个列表(最终将是原始列表的子集),其中包含带有特定前缀、后缀和部分时间戳的文件名。这些特定字符串已经在列表中给出了。注意:这个“包含”列表可能大小不同.

例如:['prefix1', '2016', 'suffix']['201608', 'suffix']

我如何容易地获得一个文件名列表,其中包含--“”数组中的每个元素?

下面是一些伪代码来演示我想要的:

代码语言:javascript
运行
AI代码解释
复制
for each fileName in the master list:
    if the fileName contains EVERY element in the "contains" array:
        add fileName to filtered list of filenames
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-08-17 09:03:46

我会把列表编译成一个模式

代码语言:javascript
运行
AI代码解释
复制
import fnmatch

pattern = '*'.join(contains)
filetered_filenames = fnmatch.filter(master_list, pattern)

这基本上是将contains中的所有字符串连接到一个glob模式中,在两者之间使用*通配符。这假设contains的顺序是重要的。考虑到您正在寻找前缀、后缀和(部分)日期之间,这并不是一个很大的延伸。

需要注意的是,如果您在具有不区分大小写的文件系统的操作系统上运行此操作,那么fnmatch匹配也是不区分大小写的。这通常就是你在这种情况下想要的。

票数 5
EN

Stack Overflow用户

发布于 2016-08-17 09:06:24

你在寻找类似的东西(使用列表理解和all() )

代码语言:javascript
运行
AI代码解释
复制
>>> files = ["prefix_20160817_suffix", "some_other_file_with_suffix"]
>>> contains = ['prefix', '2016', 'suffix']
>>> [ f for f in files if all(c in f for c in contains) ]
['prefix_20160817_suffix']
票数 4
EN

Stack Overflow用户

发布于 2016-08-17 09:07:23

给予:

代码语言:javascript
运行
AI代码解释
复制
>>> cond1=['prefix1', '2016', 'suffix']
>>> cond2=['201608', 'suffix']
>>> fn="prefix_20160817_suffix"

您可以使用in测试条件列表中每个子字符串的存在,并(在临时示例中)测试列表理解:

代码语言:javascript
运行
AI代码解释
复制
>>> [e in fn for e in cond1]
[False, True, True]
>>> [e in fn for e in cond2]
[True, True]

然后,可以在单个all语句中使用它来测试所有子字符串:

代码语言:javascript
运行
AI代码解释
复制
>>> all(e in fn for e in cond1)
False
>>> all(e in fn for e in cond2)
True

然后,您可以与filter (或使用列表理解或循环)组合起来过滤列表:

代码语言:javascript
运行
AI代码解释
复制
>>> fns=["prefix_20160817_suffix", "prefix1_20160817_suffix"]
>>> filter(lambda fn: all(e in fn for e in cond1), fns)
['prefix1_20160817_suffix']
>>> filter(lambda fn: all(e in fn for e in cond2), fns)
['prefix_20160817_suffix', 'prefix1_20160817_suffix']
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39002391

复制
相关文章
Python判断字符串是否包含子字符串
Python如何判断一个字符串是否包含指定字符串?本文介绍Python判断一个字符串是否包含指定子串的4种方法。具有一定的借鉴价值。
全栈程序员站长
2022/09/06
2K0
Python判断字符串是否包含子字符串
Python 判断字符串是否包含中文
一、摘要 使用 xlrd 模块打开带中文的excel文件时,会报错。 FileNotFoundError: [Errno 2] No such file or directory: 'xx.xlsx' 这个时候,就需要检测文件名,是否包含中文,及时return。 二、原理 中文字符的编码范围是: \u4e00 - \u9fff 只要编码在此范围就可判断为中文字符 三、函数 def is_chinese(self, string):     """     检查整个字符串是否包含中文     :param s
py3study
2020/02/28
3.9K0
【SQL】查找给定字符串中包含已知子字符串
CREATE Function [dbo].[ConvertSyntax](@paraStr nvarchar(2000))
鲁郭大侠
2020/03/05
2.2K0
Python查找包含指定字符串的所有文件
代码功能: 查找包含指定字符串的所有文件。 技术要点: 1)广度优先遍历目录树; 2)检查文件中是否包含特定的字符串。 运行效果:
Python小屋屋主
2019/12/13
3.1K0
Python查找包含指定字符串的所有文件
js 正则是否包含某些字符串_js判断字符串中是否包含某个字符串[通俗易懂]
console.log(str.indexOf(“3”) != -1);//true
全栈程序员站长
2022/09/27
4.5K0
判断数组中是否包含某个元素,判断对象中是否包含某个属性,判断字符串中是否包含某个字符串片段[通俗易懂]
缺点: hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
全栈程序员站长
2022/09/28
3.3K0
js判断是否包含指定字符串_js字符串包含字符串
我是想在js中判断字符串是否包含某个中文,将方法记录起来,这些方法也适用于数字、字母。实践是检验真理的唯一标准,还是要多多测试啊。
全栈程序员站长
2022/11/10
10.8K0
检查 Python 中给定字符串是否仅包含字母的方法
Python被世界各地的程序员用于不同的目的,如Web开发,数据科学,机器学习,并通过自动化执行各种不同的过程。在本文中,我们将了解检查python中给定字符串是否仅包含字符的不同方法。
很酷的站长
2023/08/11
2910
检查 Python 中给定字符串是否仅包含字母的方法
判断字符串是否包含某个字符串_查找字符串中包含某字符串
indexOf方法返回一个整数值,stringObject中的字符位置是从0开始的。如果没有找到子字符串,则返回 -1。
全栈程序员站长
2022/11/08
1.9K0
Java 实现判断字符串是否包含字母,是否包含数字
目录 1 实现 1 实现 /** * 判断是否是数字 * @param * @return */ public static boolean
一写代码就开心
2023/02/27
2.8K0
Python查找包含指定字符串的所有Office文档
需要安装扩展库python-docx、openpyxl和python-pptx,代码不适用于Office2003和更早的版本。
Python小屋屋主
2019/12/13
2.3K0
Python查找包含指定字符串的所有Office文档
js判断是否包含指定字符串_js判断字符串是否相等
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。
全栈程序员站长
2022/11/08
15.2K0
js判断是否包含指定字符串_判断字符串
indexOf() 返回某个指定的字符串值在字符串中首次出现的位置。 如果要检索的字符串值没有出现,则该方法返回 -1。
全栈程序员站长
2022/11/08
4.2K0
python中如何把列表转换为字符串
语法格式为: str.join(sequence) sequence是序列类型,序列类型有列表、元组、range 如果列表中为int型,可使用map(,)
全栈程序员站长
2022/08/23
4.3K0
js 正则是否包含某些字符串_js判断字符串是否包含某个字符串「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说js 正则是否包含某些字符串_js判断字符串是否包含某个字符串「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/08/22
3.7K0
如何从 Python 中的字符串列表中删除特殊字符?
在进行字符串处理和文本分析时,有时我们需要从字符串列表中删除特殊字符。特殊字符可能是空格、标点符号、换行符等,在某些情况下它们可能干扰我们的文本处理或分析任务。Python 提供了多种方法来删除字符串列表中的特殊字符。本文将详细介绍在 Python 中删除字符串列表中特殊字符的几种常用方法,并提供示例代码帮助你理解和应用这些方法。
网络技术联盟站
2023/06/01
8.5K0
Java检查枚举是否包含给定的字符串?
enum choices {a1, a2, b1, b2}; 方法一: public static boolean contains(String test) { for (Choice c : Choice.values()) { if (c.name().equals(test)) { return true; } } return false; } 方法二: EnumUtils.isValidEnum(MyEnum.cla
似水的流年
2019/12/06
4.4K0
python 检查字符串中是否包含非中文字符的方法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
FungLeo
2019/09/18
3.6K0
LeetCode 2063. 所有子字符串中的元音(数学)
给你一个字符串 word ,返回 word 的所有子字符串中 元音的总数 ,元音是指 'a'、'e'、'i'、'o' 和 'u' 。
Michael阿明
2022/01/07
6760
点击加载更多

相似问题

如何查看字符串是否仅包含python中的子字符串

57

如何搜索字符串以查看它是否包含所有子字符串?

56

检查python列表中的所有项是否都包含子字符串

41

查看字符串是否包含子字符串

20

如何查看列表中的所有元素是否都包含在字符串中

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文