以下是一个示例代码,演示如何按相同的ID分组,但疾病不同。
data = [
{"id": 1, "disease": "flu"},
{"id": 1, "disease": "cold"},
{"id": 2, "disease": "headache"},
{"id": 2, "disease": "migraine"},
{"id": 3, "disease": "fever"},
{"id": 4, "disease": "flu"}
]
# 创建一个空字典,用于存储分组结果
grouped_data = {}
# 遍历数据列表
for item in data:
# 获取当前数据的ID和疾病
current_id = item["id"]
current_disease = item["disease"]
# 如果当前ID不在分组结果字典中,将其添加为一个新的分组
if current_id not in grouped_data:
grouped_data[current_id] = set([current_disease])
else:
# 如果当前ID已经在分组结果字典中,将当前疾病添加到对应的分组中
grouped_data[current_id].add(current_disease)
# 打印分组结果
for group in grouped_data:
print(f"ID: {group}, Diseases: {grouped_data[group]}")
运行以上代码,将得到以下输出结果:
ID: 1, Diseases: {'flu', 'cold'}
ID: 2, Diseases: {'migraine', 'headache'}
ID: 3, Diseases: {'fever'}
ID: 4, Diseases: {'flu'}
这个示例代码使用一个字典来存储分组结果。遍历数据列表,对于每个数据项,首先检查当前ID是否已经存在于字典中,如果不存在,则将该ID作为一个新的分组添加到字典中,并将当前疾病添加到对应的分组中。如果ID已经存在于字典中,则将当前疾病添加到对应的分组中。最后,打印出每个分组的ID和疾病。
上一篇:按像素值分割图像
下一篇:按相同的键和值合并对象数组