AcWing 862. python3 中创建结构体与结构体排序问题
原题链接
简单
作者:
算法先和初中生同步
,
2024-04-04 11:00:25
,
所有人可见
,
阅读 8
python3 中创建结构体与结构体排序问题
class struct:
def __init__(self, a, b, c): # 类表结构体
self.a = a
self.b = b
self.c = c
struct_list = []
n = int(input())
for i in range(n):
tmp = input().split() # 出来的都是 str 类型
t = struct(int(tmp[0]), float(tmp[1]), tmp[2]) # 需要强转
struct_list.append(t)
def cmp(a, b):
if a.a < b.a: return -1 # 不交换
else: return 1 # 交换
from functools import cmp_to_key # 排序调用函数
struct_list.sort(key = cmp_to_key(cmp))
# struct_list.sort(key = lambda x:x.a, reverse=False) 默认reverse为False,表示升序,
for i in range(len(struct_list)):
print("%d %.2f" % (struct_list[i].a, struct_list[i].b), struct_list[i].c) # % 之后要括号