Я все еще разбираюсь в словарях на Python. Можно ли ссылаться на ключ в dict dicts, используя либо регулярное выражение, либо функцию startswith?Python dict of dict Regex на клавишах
У меня есть диктофон dicts в следующем формате, и я пытаюсь выполнить общий поиск для «AreaOfInterest1», «AreaOfInterest2», «AreaOfInterest3» и т. Д. Я делаю его общим, поскольку затем ссылаюсь на связанное значение списка [ 0] для выполнения действий.
Мой ДИКТ из dicts будет выглядеть примерно так ...
FeatureDict = {
"MATCHcode96":{
'ID':'MATCHcode96',
'AreaOfInterest1':['String 1','%',0],
'AreaOfInterest2':['String 2','Avg',[]],
'AreaOfInterest3':['String 3','Avg',[]],
},
"MATCHcode9F":{
'ID':'MATCHcode9F',
'AreaOfInterest1':['String 1','%',0],
'AreaOfInterest2':['String 2','Avg',[]],
},
}
Вида функциональности я искал либо использовать StartsWith (как показано ниже), или в противном случае попробуйте регулярное выражение ..
for dict in FeatureDict:
if FeatureDict[dict]['ID'] in mypkt.Text:
if FeatureDict[dict][startswith.('AreaOfInterest')][0] in mypkt.Text:
print 'found'
Спасибо.
Я рекомендую использовать [ 'any'] (https://docs.python.org /3/library/functions.html#any) здесь. 'if any (FeatureDict [dict] [k] .startswith ('AreaOfInterest') и FeatureDict [dict] [k] [0] в mypkt.Text для k в FeatureDict [dict]): print 'found''. Отказ от ответственности: непроверенный. И недостатком использования любого является то, что вы не можете сохранить найденное вами значение, но это хорошо для простых «найденных» условностей. – Shashank
О, и 'dict' не является хорошим именем переменной, потому что он затеняет встроенный тип с тем же именем. – Shashank