У меня есть данные в виде словарей с количеством пар ключ-значение, варьирующихся в каждом словаре. Я пытаюсь извлечь только определенные словари на основе определенных ключей (чтобы извлечь только те словари, которые имеют ключи «A», «B» и «C», не больше и не меньше).
Я попробовал этот код:
import re
pattern = re.compile(r'(\{\"A"\:(.*?\)\,\"B"\:(.*?\)\,\"C"\:(.*\)\})')
test_str = {"A":2.3,"B":3,"C":2.9},{"A":2.1,"B":33,"C":1.2,"D":9,"F":3.4},{"A":1.4,"B":3.3,"C":1.6,"G":3.2,"K":4},
{"A":4.3,"B":11,"C":93}
for match in re.findall(pattern, test_str):
print(match)
Кажется, это не работает.
Введите:
{"A":2.3,"B":3,"C":2.9},{"A":2.1,"B":33,"C":1.2,"D":9,"F":3.4},{"A":1.4,"B":3.3,"C":1.6,"G":3.2,"K":4},
{"A":4.3,"B":11,"C":93}
Ожидаемый результат:
{"A":2.3,"B":3,"C":2.9},{"A":4.3,"B":11,"C":93}