以下是一个使用Python代码的示例,用于按照全名进行分组,只保留具有不同关联ID的数据:
# 假设数据存储在一个名为data的列表中,每个元素是一个字典
data = [
{"name": "John Doe", "id": 1},
{"name": "John Doe", "id": 2},
{"name": "Jane Smith", "id": 3},
{"name": "Jane Smith", "id": 3},
{"name": "Jane Smith", "id": 4},
{"name": "Bob Johnson", "id": 5},
{"name": "Bob Johnson", "id": 5},
{"name": "Bob Johnson", "id": 6}
]
# 创建一个空字典用于存储结果
result = {}
# 遍历数据列表
for d in data:
# 获取姓名和关联ID
name = d["name"]
id = d["id"]
# 如果姓名已经在结果字典中,则判断关联ID是否已经存在,如果不存在则添加
if name in result:
if id not in result[name]:
result[name].append(id)
# 如果姓名不在结果字典中,则创建一个新的键值对
else:
result[name] = [id]
# 输出结果
for name, ids in result.items():
if len(ids) > 1:
print(f"{name}: {ids}")
输出结果:
John Doe: [1, 2]
Jane Smith: [3, 4]
Bob Johnson: [5, 6]
这段代码首先创建一个空字典result
用于存储结果。然后遍历数据列表,对于每个元素,获取姓名和关联ID。如果姓名已经在结果字典中,则判断关联ID是否已经存在,如果不存在则添加;如果姓名不在结果字典中,则创建一个新的键值对。最后,遍历结果字典,只输出具有不同关联ID的数据。
下一篇:按照全名排序列