从元组列表中提取值 python

Extract value form list of tuples python

我的列表消息如下所示:

msg = [('_SIZE', b'\100'), ('_MODE', b'\x00'), ('_EXPIRY', b'\x1000')]

我想从中提取 _EXPIRY 的值

已尝试 msg['_EXPIRY'], msg[0]['EXPIRY'] 。获取数据的正确方法是什么

您可能想要访问 _EXPIRY,但在访问之前需要先转换为 dict。或者通过元组列表的索引读取它 print(msg[2][1])

msg = [('_SIZE', b'\100'), ('_MODE', b'\x00'), ('_EXPIRY', b'\x1000')]
msg_dict = dict(msg)
print(msg_dict['_EXPIRY'])

方法之一:

msg_list = [('_SIZE', b'\100'), ('_MODE', b'\x00'), ('_EXPIRY', b'\x1000')]
for msg in msg_list:
    if (msg[0] == "_EXPIRY"):
        print (msg[1])
        break

另一种方法是将其转换为 dict 并按如下方式访问密钥:

msg_list = [('_SIZE', b'\100'), ('_MODE', b'\x00'), ('_EXPIRY', b'\x1000')]
try:
    msg_dict = dict(msg_list)
    print(msg_dict['_EXPIRY'])
except KeyError as ex:
    print (f"Entry for _EXPIRY does not exists")