В общем случае не очень хорошая идея преобразовывать сложные структуры данных в строку, а затем использовать строковые операции над результатом, чтобы создавать операторы для содержащихся данных. Строковые операции, такие как регулярные выражения, (буквально) глупы.
Сохраните структуру данных и получите к ней прямой доступ. Учитывая это dict
с вложенными set
s:
local_currencies = {
'GBP': {'UK'},
'USD': {'US'},
'EUR': {'FR', 'DE', 'IT'},
}
, легко ответить на вопрос типа «Какие валюты используются в стране X?» с пониманием списка:
country = 'FR'
currencies = [curr for curr in local_currencies if country in local_currencies[curr]]
Результат:
['EUR']
Для стран с несколькими валютами список будет длиннее.