在Python中,可以使用字典和列表来按照两个值进行分组。下面是一个示例代码:
data = [
{'name': 'John', 'age': 25, 'gender': 'M'},
{'name': 'Jane', 'age': 30, 'gender': 'F'},
{'name': 'Tom', 'age': 25, 'gender': 'M'},
{'name': 'Alice', 'age': 30, 'gender': 'F'},
{'name': 'Bob', 'age': 25, 'gender': 'M'},
{'name': 'Eve', 'age': 30, 'gender': 'F'}
]
# 使用字典和列表进行分组
groups = {}
for item in data:
key = (item['age'], item['gender']) # 使用元组作为分组的键
if key in groups:
groups[key].append(item)
else:
groups[key] = [item]
# 输出分组结果
for key, group in groups.items():
print(f"Group {key}:")
for item in group:
print(f" {item['name']}")
运行以上代码,会得到如下输出:
Group (25, 'M'):
John
Tom
Bob
Group (30, 'F'):
Jane
Alice
Eve
以上代码首先创建一个空字典groups
来存储分组结果。然后遍历数据列表data
,对于每个元素,使用元组(item['age'], item['gender'])
作为键来判断是否已经存在对应的分组。如果已经存在,则将当前元素添加到对应的分组列表中;如果不存在,则创建一个新的分组列表并将当前元素添加进去。最后,遍历字典groups
并输出分组结果。