以下是一个示例代码,演示了如何将一个数组列表中的元素按键分组或连接在一起:
def group_elements(arr, key):
grouped = {}
for element in arr:
if key(element) not in grouped:
grouped[key(element)] = [element]
else:
grouped[key(element)].append(element)
return grouped
# 示例用法
arr = [1, 2, 3, 4, 5, 6]
key = lambda x: x % 2 # 按奇偶分组
result = group_elements(arr, key)
print(result)
在上面的示例中,我们定义了一个名为group_elements
的函数,它接受一个数组列表arr
和一个键函数key
作为输入。键函数key
用于确定元素应该属于哪个组。然后,我们使用一个字典grouped
来保存每个组的元素列表。
在循环中,我们遍历数组列表中的每个元素。对于每个元素,我们使用键函数key
来计算它的键。如果该键在字典grouped
中不存在,则将该元素添加到一个新的列表中,并将该列表与该键关联起来。否则,我们将该元素添加到已存在的列表中。
最后,我们返回一个包含所有分组的字典grouped
。
在示例用法中,我们使用了一个简单的键函数lambda x: x % 2
,它将数组列表中的元素根据奇偶性分组。然后,我们调用group_elements
函数,并将结果打印出来。
输出结果为:
{1: [1, 3, 5], 0: [2, 4, 6]}
这表示奇数元素被分组在键为1的列表中,偶数元素被分组在键为0的列表中。
上一篇:按键将数组分组为对象