在 Python 中查找列表中的字符串
本教程将介绍如何从一个 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']
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串