gpt4 book ai didi

使用多列对记录进行排序的 Pythonic 方法

转载 作者:行者123 更新时间:2023-11-28 22:29:16 24 4
gpt4 key购买 nike

假设我们以下列方式在一个文件中有很多记录。

10.10.10.10(tcp/443):一些 SSL 漏洞:中等:已修补

10.10.10.11(tcp/888):一些 RCE 漏洞:高:未修补

这些记录的第 3 列的值为 Critical、High、Medium、Low

以这种方式对这些记录进行排序的最佳 pythonic 方法是什么:1. Critical, 2.High, 3.Medium 4. Low ?

最佳答案

示例使用 IntEnum获取字典列表。

from enum import IntEnum
class Vulnerability(IntEnum):
CRITICAL = 1
HIGH = 2
MEDIUM = 3
LOW = 4

records = []
records.append({'v': Vulnerability.MEDIUM})
records.append({'v': Vulnerability.HIGH})
records.append({'v': Vulnerability.CRITICAL})
records.append({'v': Vulnerability.LOW})

print(records)
# [{'v': <Vulnerability.MEDIUM: 3>}, {'v': <Vulnerability.HIGH: 2>}, {'v': <Vulnerability.CRITICAL: 1>}, {'v': <Vulnerability.LOW: 4>}]

print(records[0]['v'] < records[1]['v'])
# False

print(sorted(records, key = lambda k: k['v']))
# [{'v': <Vulnerability.CRITICAL: 1>}, {'v': <Vulnerability.HIGH: 2>}, {'v': <Vulnerability.MEDIUM: 3>}, {'v': <Vulnerability.LOW: 4>}]

关于使用多列对记录进行排序的 Pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43156360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com