Python字典-索引编号每次都不同

Python字典-索引编号每次都不同,python,Python,我正在使用python 2.7\Linux 我有api结果(见下文): 如果我理解正确,我在字典中有字典(第二行“component”是另一个有4个键值的字典) 我试图检查字典中的“type”是否等于我给出的参数 代码: 如果(MyDictionary[u'components'][0][u'type']lRestParams['type4']): 我有4个索引(0,1,2,3) 有时“if”通过,有时索引被更改(当重建所有内容时),它会失败 如何将type4与MyDictionary[u'co

我正在使用python 2.7\Linux

我有api结果(见下文):

如果我理解正确,我在字典中有字典(第二行“component”是另一个有4个键值的字典)

我试图检查字典中的“type”是否等于我给出的参数

代码:

如果(MyDictionary[u'components'][0][u'type']lRestParams['type4']):

我有4个索引(0,1,2,3)

有时“if”通过,有时索引被更改(当重建所有内容时),它会失败

如何将type4与MyDictionary[u'components'][index之一][u'type']进行比较 此外,我还需要在这之后比较key=value4的值 这意味着,若我们检查索引x,那个么应该在那个里检查键和值

希望不要太复杂

提前谢谢


Ohad

您可以通过循环组件值来进行比较,而不是给出索引号

for keys in data['components']:
    if keys['type'] == "IDUGW":
        print "matched"

与键“component”对应的值不是字典。这是一个列表,包含四个字典。我需要将json中的类型与我的类型进行比较。假设是我做的。然后我需要将json中的序列号与我的序列号进行比较。但我需要知道序列号x是类型x的值(即orange=10,apple=5)-如果我找到这两个Kei,它们可能会显示为orange=5,apple=10)。我需要在同一个字典(总共有4个)中输入应该的类型和序列号,而不是在字典1中输入,并在字典3中输入序列号。例如,您可以使用数据[‘序列号’]访问序列号。假设您只有一个您提供的字典值。如果没有,则可以循环遍历这些值。例如,对于数据中的数据:对于数据['component']中的键:如果键['type']==“IDUGW”:打印“匹配的”打印数据['serial_number']
for keys in data['components']:
    if keys['type'] == "IDUGW":
        print "matched"