以下是一个示例代码,可以按照人口数量和地点按值进行排序和分组:
import operator
data = [
{"location": "A", "population": 100},
{"location": "B", "population": 200},
{"location": "C", "population": 150},
{"location": "A", "population": 250},
{"location": "B", "population": 300},
{"location": "C", "population": 50},
]
# 按照人口数量排序
data.sort(key=operator.itemgetter("population"))
# 按照地点分组
groups = {}
for item in data:
location = item["location"]
if location not in groups:
groups[location] = []
groups[location].append(item)
# 输出分组结果
for location, group in groups.items():
print(f"Location: {location}")
for item in group:
print(f"Population: {item['population']}")
print()
运行以上代码,将得到以下输出:
Location: C
Population: 50
Location: A
Population: 100
Population: 250
Location: B
Population: 200
Population: 300
该示例首先使用operator.itemgetter("population")
作为排序的关键字,对data
列表进行排序,以按照人口数量升序排列。然后,使用一个字典groups
来存储按地点分组的结果。遍历排序后的data
列表,将每个元素添加到对应地点的分组中。最后,按照地点输出分组结果。