2024-04-18 00:06:07 发布
网友
给一本字典:
self.mapping = {} # key= IP, value = (mac,id,port)
其中值是三元组值。如果我知道键,如何从3元组中获得特定元素?例如,我想得到与给定的IP对应的id。你知道吗
IP
id
谢谢你。你知道吗
您需要使用基本的python序列索引。 根据您的样品:
self.mapping['some IP'][1]
签出documentation。你知道吗
Python字典和元组是使用括号表示法引用的。字典值使用相应的键引用;元组中的项通过索引引用,使用基于零的编号(即元组中的第一项具有索引0,第二项具有索引1,依此类推)。你知道吗
在您的情况下,可以使用IP地址键引用字典值:
self.mapping['IP address']
可以使用索引引用元组项:
my_tuple[1]
通过将两者结合起来,可以引用字典值元组中的特定项。在您的示例中,ID是索引1处的第二个值,因此您可以使用:
self.mapping['IP address'][1]
您可以使用get()方法以pythonic的方式正确地从dict解压数据:
get()
mac_addr, c_id, port = self.mapping.get('192.168.1.1', (None, None, None))
它避免了在当前IP不在dict中时引发的KeyError异常
KeyError
如果只想提取id字段:
_, c_id, _ = self.mapping.get('192.168.1.1', (None, None, None))
您需要使用基本的python序列索引。 根据您的样品:
签出documentation。你知道吗
Python字典和元组是使用括号表示法引用的。字典值使用相应的键引用;元组中的项通过索引引用,使用基于零的编号(即元组中的第一项具有索引0,第二项具有索引1,依此类推)。你知道吗
在您的情况下,可以使用IP地址键引用字典值:
可以使用索引引用元组项:
通过将两者结合起来,可以引用字典值元组中的特定项。在您的示例中,ID是索引1处的第二个值,因此您可以使用:
您可以使用
get()
方法以pythonic的方式正确地从dict解压数据:它避免了在当前IP不在dict中时引发的
KeyError
异常如果只想提取id字段:
相关问题 更多 >
编程相关推荐