迹忆客 专注技术分享

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

Python 检查列表是否包含字符串

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

字符串是一个字符序列。就像字符串在特定位置存储字符一样,我们可以使用列表来存储字符串的集合。

在本篇内容中,我们将在 Python 列表中获取具有特定值的字符串。

使用 for 循环检查 Python 列表中的特定字符串

for 用于在 Python 中迭代一个序列。

其获取包含特定值的字符串的实现如下例所示。

py_list = ['a-1','b-2','c-3','a-4']
new_list =[]
for x in py_list: 
    if "a" in x:
       new_list.append(x)
print(new_list)

输出:

['a-1','a-4']

在上面的代码中,在 for 循环中使用了 if 语句来搜索列表 py_list 中包含 a 的字符串。创建另一个名为 new_list 的列表来存储这些特定字符串。

使用列表推导式检查 Python 列表中的特定字符串

列表推导式是一种基于现有列表创建新列表的方法。它提供了更短的语法,比用于创建列表的其他函数和循环更紧凑、更快。

例如,

py_list = ['a-1','b-2','c-3','a-4']
r = [s for s in py_list if "a" in s]
print(r)

输出:

['a-1', 'a-4']

在上面的代码中,列表推导用于在列表 py_list 中搜索具有 a 的字符串。

请注意 ,使用其他函数或循环编写相同的代码会花费更多时间,因为它们的实现需要更多代码,但列表推导式解决了这个问题。

我们还可以使用列表推导来找出包含多个特定值的字符串,即,我们可以通过组合两个推导在 py_list 中找到包含 ab 的字符串。

例如,

py_list = ['a-1','b-2','c-3','a-4','b-8']
q = ['a','b']
r = [s for s in py_list if any(xs in s for xs in q)]
print(r)

输出:

['a-1', 'b-2', 'a-4','b-8']

使用 filter() 函数获取 Python 列表中的特定字符串

filter() 函数在检查每个元素是否满足某些条件的函数的帮助下过滤给定的可迭代对象。

它返回一个迭代器,该迭代器对可迭代对象中的每个元素进行检查。

例如,

py_lst = ['a-1','b-2','c-3','a-4']
filter(lambda x: 'a' in x,py_lst)
print (filter(lambda x: 'a' in x,py_lst))

输出:

<filter object at 0x7fd36c1905e0>

请注意 ,上面的输出是一个过滤器迭代器类型对象,因为 filter() 函数返回一个迭代器而不是一个列表。

我们可以使用 list() 函数(如下面的代码所示)来获取列表。

list(filter(lambda x: 'a' in x,py_lst))

输出:

['a-1','a-4']

在上面的代码中,我们使用 filter() 在列表 py_list 中查找具有特定值的字符串。

转载请发邮件至 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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便