迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中查找列表中的字符串

作者:迹忆客 最近更新:2023/12/17 浏览次数:

本教程将介绍如何从一个 Python 列表中查找其中有特定子字符串的元素。

我们将使用下面的列表并提取其中有 ack 的字符串。

my_list = ["Jack", "Mack", "Jay", "Mark"]

在 Python 中使用 for 循环从列表中查找包含特定子字符串的元素

在这个方法中,我们遍历列表并检查子字符串是否存在于某个元素中。如果子字符串存在于该元素中,那么我们就将其存储在字符串中。下面的代码显示了如何操作。

str_match = [s for s in my_list if "ack" in s]
print(str_match)

输出:

['Jack', 'Mack']

in 关键字检查给定的字符串,即本例中的"ack",是否存在于字符串中。也可以用 __contains__ 方法代替,它是字符串类的一个神奇方法。例如:

str_match = [s for s in my_list if s.__contains__("ack")]
print(str_match)

输出:

['Jack', 'Mack']

使用 filter() 函数从 Python 列表中查找包含特定子字符串的元素

filter() 函数借助函数从给定对象中检索数据的子集。该方法将使用 lambda 关键字来定义过滤数据的条件。lambda 关键字在 Python 中创建了一个单行的 lambda 函数。请看下面的代码片段。

str_match = list(filter(lambda x: "ack" in x, my_list))
print(str_match)

输出:

['Jack', 'Mack']

使用正则表达式从 Python 列表中查找包含特定子字符串的元素

正则表达式是一个字符序列,可以作为匹配模式来搜索元素。要使用正则表达式,我们必须导入 re 模块。在这个方法中,我们将使用 for 循环和 re.search() 方法,该方法用于返回与特定模式匹配的元素。下面的代码将解释如何操作。

import re

pattern = re.compile(r"ack")
str_match = [x for x in my_list if re.search("ack", x)]
print(str_match)

输出:

['Jack', 'Mack']

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便