在Python中检查集合的任何成员是否以给定的前缀字符串开头

在Python中检查集合的任何成员是否以给定的前缀字符串开头,python,set,Python,Set,在Python中,我有一组文件名和一个给定的目录名(在循环中) 集合中的文件名和给定的目录名都在同一名称空间中,例如,我只想看看集合中是否有以给定字符串开头的成员字符串 Python如何查看集合中的任何文件名是否以给定的目录前缀开头?您可以使用内置函数: any(x.startswith(prefix) for x in your_set) 这将为您提供一个简单的True或False——这取决于任何项目是否符合标准。如果您想知道哪个元素符合您的标准,则需要: 当然,这只返回一个满足条件的元素—

在Python中,我有一组文件名和一个给定的目录名(在循环中)

集合中的文件名和给定的目录名都在同一名称空间中,例如,我只想看看集合中是否有以给定字符串开头的成员字符串

Python如何查看集合中的任何文件名是否以给定的目录前缀开头?

您可以使用内置函数:

any(x.startswith(prefix) for x in your_set)
这将为您提供一个简单的
True
False
——这取决于任何项目是否符合标准。如果您想知道哪个元素符合您的标准,则需要:

当然,这只返回一个满足条件的元素——如果需要所有元素,请参阅。

您可以使用内置函数:

any(x.startswith(prefix) for x in your_set)
这将为您提供一个简单的
True
False
——这取决于任何项目是否符合标准。如果您想知道哪个元素符合您的标准,则需要:


当然,这只返回一个满足条件的元素——如果需要所有元素,请参阅。

您必须循环所有集合元素——只需执行以下操作即可获得这些名称的lsit:

results = [element for element in your_set if element.startswith(your_prefix)]  

但是通过这样做,您就失去了元素的快速访问集,因为它是用它存储的strigns散列来完成的。因此,使用纯集合无法快速检查其元素中的子字符串。

您必须循环所有集合元素-您只需执行以下操作即可获得这些名称的lsit:

results = [element for element in your_set if element.startswith(your_prefix)]  
但是通过这样做,您就失去了元素的快速访问集,因为它是用它存储的strigns散列来完成的。因此,没有快速的方法,使用纯集合来快速检查元素中的子字符串