从元组列表中提取值

2024-04-29 22:22:04 发布

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

我的列表消息如下所示:

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

我想从中提取_EXPIRY的值

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


Tags: 方法消息列表sizemodemsgx00expiry
2条回答

您可能想访问\u 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")

相关问题 更多 >