以下是按照两列对行进行分组的排序的一种解决方法的代码示例:
# 定义一个列表,其中每个元素表示一个行,包含两列的数据
data = [
['Tom', 25],
['Jerry', 30],
['Tom', 20],
['Jerry', 35],
['Alice', 28],
['Alice', 22]
]
# 按照第一列进行分组
groups = {}
for row in data:
key = row[0]
if key not in groups:
groups[key] = []
groups[key].append(row)
# 对每个分组内的行按照第二列进行排序
for key, group in groups.items():
groups[key] = sorted(group, key=lambda x: x[1])
# 将分组后的行按照第一列和第二列的顺序合并为一个新的列表
sorted_data = []
for key in sorted(groups.keys()):
sorted_data.extend(groups[key])
# 输出排序后的结果
for row in sorted_data:
print(row)
输出结果为:
['Alice', 22]
['Alice', 28]
['Jerry', 30]
['Jerry', 35]
['Tom', 20]
['Tom', 25]