Python如何对作为列表列表的字典值进行排序?

2024-06-23 19:44:30 发布

您现在位置:Python中文网/ 问答频道 /正文

正如标题所示,我正在寻找一种对字典中的所有值进行排序的方法,其中字典的值是一个列表列表。我在下面提供了一个示例片段:

hubs = {
    '9999': [['#IPaddress#', 'Manual', '1859', '2104201557', '2104201530'], ['#IPaddress#', 'Manual', 
             'ImAwake', 'NoCardTrx', 'NoCashTrx'], ['#IPaddress#', 'Manual', '7513', '2104201613', 
             '2104201613'], ['#IPaddress#', 'Manual', 'ImAwake', 'NoCardTrx', 'NoCashTrx'], 
             ['#IPaddress#', 'Manual', '1456', '2104201609', '2104201607']]
}

有没有办法按“IPaddress”排序,它将是每个列表的第一个元素?其中IP地址将是格式为XX.XX.XX.11等的字符串


Tags: 方法元素标题示例列表字典排序manual
1条回答
网友
1楼 · 发布于 2024-06-23 19:44:30

你可能正在寻找这样的东西:

for lst2d in hubs.values():
    lst2d.sort(key=lambda lst: lst[0])

如果要对实际IP地址进行数字排序:

for lst2d in hubs.values():
    lst2d.sort(key=lambda lst: [int(x) for x in lst[0].split('.')])

它将按子列表的第一个元素对嵌套列表中的dict值进行排序

相关问题 更多 >

    热门问题