目录
Check if string starts with any element from List in Python
检查字符串是否以 Python 列表中的任何元素开头
检查字符串是否以列表中的任何元素开头:
- 使用该类
tuple()
将列表转换为元组。 - 使用该
startswith()
方法检查字符串是否以元组中的任何元素开头。 - 如果满足条件,该
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()
方法返回,否则该方法返回。True
False
该startswith
方法可以传递一个字符串或一个字符串元组。
list
,请确保将其传递给类以将其转换为 a 。 tuple
tuple()
如果字符串以元组中的任何字符串开头,则该startswith
方法将返回,否则返回。True
False
使用 any() 检查字符串是否以 List 中的任何元素开头
或者,您可以使用该any()
功能。
如果字符串以列表中的任何元素开头,则该any
函数将返回,否则返回。True
False
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 方法返回,否则该
方法返回。True
False
请注意,该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 中查找以给定字符串开头的列表项
要查找以给定字符串开头的列表项:
- 使用列表理解来遍历列表。
- 使用该
str.startswith()
方法检查每个项目是否以字符串开头。 - 新列表将只包含满足条件的项目。
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 方法返回,否则该
方法返回。True
False
新列表仅包含满足条件的项目。
查找以给定字符串开头的列表项,忽略大小写
如果您需要以不区分大小写的方式查找以给定字符串开头的列表项,请使用该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 循环查找以给定字符串开头的列表项
这是一个三步过程:
- 使用
for
循环遍历列表。 - 使用该
str.startswith()
方法检查每个项目是否以给定的字符串开头。 - 将匹配项附加到新列表。
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
。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: