2024-06-01 07:00:20 发布
网友
def insert(key, value, D, hasher = hash): x = hash(key) key_value = (x, key, value) D.append(key_value) sorted(D, key = lambda x:x[0]) return D insert("swag", 100, D, hash) insert("swg", 150, D, hash) print(D)
这似乎从来没有分类
我想通过x值对列表进行排序
您混淆了排序和排序。sorted是一个函数,它只保留原来的iterable,但返回已排序的项。你没有保存这个价值。试试这个:
return sorted(D, key = lambda x:x[0])
示例
输出:
[(-1840385907632881630, 'swag', 100)] [(-1840385907632881630, 'swag', 100), (-369175422006790866, 'swg', 150)] [(-1840385907632881630, 'swag', 100), (-369175422006790866, 'swg', 150), (5971043325587305850, 'loot', 200)] [(-1840385907632881630, 'swag', 100), (-369175422006790866, 'swg', 150), (5971043325587305850, 'loot', 200), (5473401298224946764, 'crud', 50)] [(-1840385907632881630, 'swag', 100), (-369175422006790866, 'swg', 150), (5473401298224946764, 'crud', 50), (5971043325587305850, 'loot', 200)]
您正在对列表进行排序,并立即将已排序的列表丢弃。注意,sorted返回一个新列表,因此您还需要将排序后的列表重新分配给名称D。在
sorted
D
... return sorted(D, key=lambda x:x[0])
要进行适当排序,请使用列表的sort方法:D.sort
D.sort
您混淆了排序和排序。sorted是一个函数,它只保留原来的iterable,但返回已排序的项。你没有保存这个价值。试试这个:
示例
^{pr2}$输出:
您正在对列表进行排序,并立即将已排序的列表丢弃。注意,
sorted
返回一个新列表,因此您还需要将排序后的列表重新分配给名称D
。在要进行适当排序,请使用列表的sort方法:
^{pr2}$D.sort
相关问题 更多 >
编程相关推荐