我正在使用 Python 来挖掘一个相当大的项目并挖掘有关它的信息。我能够创建一个数组ProjectFile
s,但是我很难弄清楚如何过滤它。
class ProjectFile:
def __init__(self, filename: str,
number_of_lines: int,
language: str,
repo: str,
size: int):
self.filename = filename
self.number_of_lines = number_of_lines
self.language = language
self.repo = repo
self.size = size
我将如何过滤数组ProjectFile
特定对象repo
?
例如,假设我想过滤其对象repo
财产是SomeCocoapod
.
我找过例子filter
,但我发现的所有内容都使用简单的示例,例如列表str
or int
.
您可以使用点符号选择类的属性。
Suppose arr
是项目文件对象的数组。现在您可以使用一些 Cocoapod 进行过滤。
filter(lambda p: p.repo == "SomeCocoapod", arr)
注意:这会返回一个过滤器对象,它是一个生成器。要返回过滤后的列表,您可以将其包装在列表构造函数中。
作为一个非常 Pythonic 的替代方案,你可以使用列表推导式:
filtered_arr = [p for p in arr if p.repo == "SomeCocoapod"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)