Python 检查列表是否包含字符串
字符串是一个字符序列。就像字符串在特定位置存储字符一样,我们可以使用列表来存储字符串的集合。
在本篇内容中,我们将在 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
中找到包含 a
和 b
的字符串。
例如,
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
中查找具有特定值的字符串。
相关文章
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 系列日期时间转换为字符串