检查 String 是否以 Python 中 List 中的任何元素开头

目录

Check if string starts with any element from List in Python

  1. 检查 String 是否以 Python 中 List 中的任何元素开头
  2. 检查列表中的任何元素是否以 Python 中的字符串开头
  3. 在 Python 中查找以给定字符串开头的列表项

检查字符串是否以 Python 列表中的任何元素开头

检查字符串是否以列表中的任何元素开头:

  1. 使用该类tuple()将列表转换为元组。
  2. 使用该startswith()方法检查字符串是否以元组中的任何元素开头。
  3. 如果满足条件,startswith方法将返回。True
主程序
my_str = 'hello' my_list = ['apple', 'one', 'he'] # ✅ Using str.startswith() with a tuple if my_str.startswith(tuple(my_list)): # 👇️ this runs print('string starts with at least one of the elements from the list') else: print('string does NOT start with any of the elements from the list') # 👇️ True print(my_str.startswith(tuple(my_list)))

第一个示例使用
str.startswith
方法。

如果字符串以提供的前缀开头,则str.startswith()方法返回,否则该方法返回TrueFalse

startswith方法可以传递一个字符串或一个字符串元组。

如果您有 a list,请确保将其传递给类以将其转换为 a 。 tupletuple()

如果字符串以元组中的任何字符串开头,则startswith方法将返回,否则返回。TrueFalse

使用 any() 检查字符串是否以 List 中的任何元素开头

或者,您可以使用该any()功能。

如果字符串以列表中的任何元素开头,则any函数将返回,否则返回。TrueFalse

主程序
my_str = 'hello' my_list = ['apple', 'one', 'he'] if any(my_str.startswith(item) for item in my_list): # 👇️ this runs print('string starts with at least one of the elements from the list') else: print('string does NOT start with any of the elements from the list') # 👇️ True print(any(my_str.startswith(item) for item in my_list))

any函数接受一个可迭代对象作为参数,如果可迭代对象中的任何元素为真则返回。True

我们将生成器表达式传递给函数any()

生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。

在示例中,我们检查字符串是否以列表中的每个项目开头并返回结果。

如果条件至少满足一次,则any()函数返回True

获取满足条件的列表项


如果需要获取字符串开头的列表项,
可以使用
赋值表达式语法。

主程序
my_str = 'hello' my_list = ['apple', 'one', 'he'] if any(my_str.startswith(match := item) for item in my_list): # 👇️ this runs print('string starts with at least one of the elements from the list') print(match) # 👉️ 'he' else: print('string does NOT start with any of the elements from the list')

赋值表达式允许我们使用语法给表达式中的变量赋值NAME := expression

检查字符串是否以列表中的任何元素开头,忽略大小写

如果您需要以不区分大小写的方式检查字符串是否以列表中的任何元素开头,请将两个字符串都转换为小写。

主程序
my_str = 'HELLO' my_list = ['apple', 'one', 'he'] if any(my_str.lower().startswith(item.lower()) for item in my_list): # 👇️ this runs print('string starts with at least one of the elements from the list') else: print('string does NOT start with any of the elements from the list') # 👇️ True print(any(my_str.lower().startswith(item.lower()) for item in my_list))
在调用该方法之前,我们使用该str.lower()方法将字符串和每个列表项转换为小写startswith

str.lower方法返回字符串的副本,其中所有大小写字符都转换为小写

如果我们传递给函数any()的可迭代对象为空,或者可迭代对象中的元素都不为真,则any函数返回False

主程序
my_str = 'hello' my_list = ['apple', 'one'] if any(my_str.startswith(item) for item in my_list): print('string starts with at least one of the elements from the list') else: # 👇️ this runs print('string does NOT start with any of the elements from the list') # 👇️ False print(any(my_str.startswith(item) for item in my_list))

该字符串不以列表中的任何项目开头,因此永远不会满足条件并any()返回False

如果您的列表为空,该any函数将始终返回False

主程序
my_str = 'hello' my_list = [] if any(my_str.startswith(item) for item in my_list): print('string starts with at least one of the elements from the list') else: # 👇️ this runs print('string does NOT start with any of the elements from the list') # 👇️ False print(any(my_str.startswith(item) for item in my_list))

检查 List 中的任何元素是否以 Python 中的字符串开头

使用该any()函数检查列表中的任何元素是否以特定字符串开头。

主程序
my_list = ['Apple', 'Banana', 'Kiwi', 'Melon'] if any(item.startswith('Ki') for item in my_list): # 👇️ this runs print('There is a list item that starts with Ki') else: print('No list items start with Ki') # 👇️ True print(any(item.startswith('Ki') for item in my_list))

any函数接受一个可迭代对象作为参数,如果可迭代对象中的任何元素为真则返回。True

我们将生成器表达式传递给函数any()

生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。

在示例中,我们检查列表中的每个项目是否以字符串开头Ki
并返回结果。

如果条件至少满足一次,则any()函数返回True

获取以字符串开头的列表元素

如果需要获取以指定字符串开头的元素,可以使用赋值表达式语法。

主程序
my_list = ['Apple', 'Banana', 'Kiwi', 'Melon'] if any((match := item).startswith('Ki') for item in my_list): # 👇️ this runs print('There is a list item that starts with Ki') print(match) # 👉️ Kiwi else: print('No list items start with Ki')

赋值表达式允许我们使用语法给表达式中的变量赋值NAME := expression

如果字符串以提供的前缀开头,则 str.startswith 方法返回,否则

方法
返回TrueFalse

请注意,该str.startswith()方法执行区分大小写的比较。

检查列表中是否有任何元素以字符串开头,忽略大小写

如果您需要检查列表中的任何元素是否以忽略其大小写的字符串开头,请将两个字符串都转换为小写。

主程序
my_list = ['Apple', 'Banana', 'Kiwi', 'Melon'] if any(item.lower().startswith('KI'.lower()) for item in my_list): # 👇️ this runs print('There is a list item that starts with Ki') else: print('No list items start with Ki') # 👇️ True print(any(item.lower().startswith('KI'.lower()) for item in my_list))
我们使用该str.lower()方法将每个列表项和我们要检查的字符串转换为小写。

str.lower方法返回字符串的副本,其中所有大小写字符都转换为小写

如果我们传递给函数any()的可迭代对象为空,或者可迭代对象中的元素都不为真,则any函数返回False

主程序
my_list = ['Apple', 'Banana'] if any(item.startswith('Ki') for item in my_list): print('There is a list item that starts with Ki') else: # 👇️ this runs print('No list items start with Ki') # 👇️ False print(any(item.startswith('Ki') for item in my_list))

列表中没有任何项目以 开头Ki,因此永远不会满足条件并any()返回False

如果您的列表为空,该any函数将始终返回False

主程序
my_list = [] if any(item.startswith('Ki') for item in my_list): print('There is a list item that starts with Ki') else: # 👇️ this runs print('No list items start with Ki') # 👇️ False print(any(item.startswith('Ki') for item in my_list))

在 Python 中查找以给定字符串开头的列表项

要查找以给定字符串开头的列表项:

  1. 使用列表理解来遍历列表。
  2. 使用该str.startswith()方法检查每个项目是否以字符串开头。
  3. 新列表将只包含满足条件的项目。
主程序
a_list = ['apple', 'application', 'example'] string = 'app' new_list = [item for item in a_list if item.startswith(string)] print(new_list) # 👉️ ['apple', 'application']

我们使用
列表理解来迭代列表。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们使用该str.startswith()方法检查当前项目是否以给定字符串开头。

如果字符串以提供的前缀开头,则 str.startswith 方法返回,否则

方法
返回TrueFalse

新列表仅包含满足条件的项目。

查找以给定字符串开头的列表项,忽略大小写

如果您需要以不区分大小写的方式查找以给定字符串开头的列表项,请使用该str.lower()方法。

主程序
a_list = ['apple', 'application', 'example'] string = 'APP' new_list = [item for item in a_list if item.lower().startswith(string.lower())] print(new_list) # 👉️ ['apple', 'application']

str.lower方法返回字符串的副本,其中所有大小写字符都转换为小写

通过将两个字符串都转换为小写,我们检查字符串是否以不区分大小写的方式以子字符串开头。

或者,您可以使用for 循环

使用 for 循环查找以给定字符串开头的列表项

这是一个三步过程:

  1. 使用for循环遍历列表。
  2. 使用该str.startswith()方法检查每个项目是否以给定的字符串开头。
  3. 将匹配项附加到新列表。
主程序
a_list = ['apple', 'application', 'example'] string = 'app' new_list = [] for item in a_list: if item.startswith(string): new_list.append(item) print(new_list) # 👉️ ['apple', 'application']

我们使用for循环遍历列表。

在每次迭代中,我们检查当前项目是否以指定的字符串开头。

如果满足条件,我们将该项目附加到新列表中。

list.append ()方法将一个项目添加到列表的末尾。

如果您只需要查找以给定字符串开头的第一个列表项,请break在遇到匹配项时使用语句。
主程序
a_list = ['apple', 'application', 'example'] string = 'app' match = None for item in a_list: if item.startswith(string): match = item break print(match) # 👉️ 'apple'

如果我们找到一个以给定字符串开头的项目,我们将值赋给一个变量并跳出循环。

break语句跳出最内层的封闭for循环while

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: