Python 从字典中的3元组中提取特定元素
给一本字典:Python 从字典中的3元组中提取特定元素,python,Python,给一本字典: self.mapping = {} # key= IP, value = (mac,id,port) 其中,值为3元组值。如果我知道键,如何从3元组中获取特定元素?例如,我想获得与给定的IP对应的id 谢谢。您需要使用基本的python序列索引。 根据您的样本: self.mapping['some IP'][1] 签出。首先,您将获得整个元组: self.mapping["192.168.1.1"] 然后你只需要得到第二个元素: self.mapping["192.16
self.mapping = {} # key= IP, value = (mac,id,port)
其中,值为3元组值。如果我知道键,如何从3元组中获取特定元素?例如,我想获得与给定的IP
对应的id
谢谢。您需要使用基本的python序列索引。 根据您的样本:
self.mapping['some IP'][1]
签出。首先,您将获得整个元组:
self.mapping["192.168.1.1"]
然后你只需要得到第二个元素:
self.mapping["192.168.1.1"][1]
Python字典和元组使用括号表示法引用。使用相应的键引用字典值;元组中的项由索引引用,使用基于零的编号(即元组中的第一项具有索引0,第二项具有索引1,依此类推) 在您的情况下,可以使用IP地址键引用字典值:
self.mapping['IP address']
可以使用索引引用元组项:
my_tuple[1]
通过将两者结合起来,可以引用字典值元组中的特定项。在您的示例中,ID是索引1处的第二个值,因此您可以使用:
self.mapping['IP address'][1]
您可以使用get()
mac_addr, c_id, port = self.mapping.get('192.168.1.1', (None, None, None))
它避免了当前IP不在dict中时引发的KeyError
异常
如果只想提取id字段:
_, c_id, _ = self.mapping.get('192.168.1.1', (None, None, None))
id=self.mapping[“192.168.1.1”][1]