验证 python 多维数组中是否存在索引

Verifying if indexes exist in a python multi-dimensional array

检查一些代码我看到这样的东西:

// This snippet is from the variables display in VS code while debugging and psuedocode:
theIndex: (1, 1)
myDataa['aKeyPhrase'][a secondary group of arrays]

所以 myData 的第一个索引是 'aKeyPhrase' 这是一个变化的变量并且是一个唯一的字符串,像这样:

aKeyPhrase = 'labelA'
aKeyPhrase = 'labelB', etc.

myData 的第二部分包含一组数字,因此 theIndex: (1, 1) 指的是该组的第一个索引和第二个索引:

// (1, 1) would be refering the numbers  24.0 and 18.0
{1: 24.0, 2: 10.0, 3: 34.0}
{1: 18.0, 2: 23.0, 3: 32.0}

在对 myData 执行任何操作之前,我想检查 theIndex 是否存在以及它是否等于“%”,然后执行以下操作:

if theIndex not in myData[aKeyPhrase] or myData[aKeyPhrasel][theIndex] == '%':

上面那个表达式的第一部分总是false。它应该是正确的,因为索引存在于 myData 示例中。如何正确检查?

IIUC,theIndex是元组,myData[aKeyPhrase]是字典列表,对于theIndex = (1, 2),1对应第一个字典的键,2是第一个字典的键第二个字典,对吗?在那种情况下,在 if-condition 中,if theIndex not in myData[aKeyPhrase] 将始终 return False。您可以将其修改为

if all(i in d for i, d in zip(theIndex, myData[aKeyPhrase])) or myData[aKeyPhrasel][theIndex] == '%'