以下是一个包含按值分组为数组、包含函数和自定义结构的代码示例:
from collections import defaultdict
# 自定义结构
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"Person({self.name}, {self.age})"
# 按值分组为数组的函数
def group_by_value(arr):
groups = defaultdict(list)
for item in arr:
groups[item].append(item)
return list(groups.values())
# 包含函数
def includes(arr, value):
return value in arr
# 示例用法
people = [
Person("John", 25),
Person("Jane", 30),
Person("John", 35),
Person("Jane", 40),
Person("John", 45)
]
# 按值分组为数组
groups = group_by_value(people)
print(groups)
# 使用包含函数
print(includes(groups, [Person("Jane", 30)])) # True
print(includes(groups, [Person("Jane", 50)])) # False
输出结果:
[[Person(John, 25), Person(John, 35), Person(John, 45)], [Person(Jane, 30), Person(Jane, 40)]]
True
False
以上代码示例使用了defaultdict
来创建一个自动初始化为空列表的字典。然后,遍历输入数组,将每个元素添加到对应的值的列表中。最后,将字典的值转换为列表并返回。包含函数使用in
操作符来检查给定的值是否存在于数组中。
请注意,自定义结构Person
用于演示目的,并不是必需的。您可以根据实际需求自定义自己的结构。
下一篇:按值分组,直到达到阈值。