我想根据值获取字典键
我想要返回一个键,但首先要用值来进行比较。我想要得到的是键,而不是值。
lista_prefixos: List[Dict[str,str]] = [
{'RUA': ['RUA', 'R']},
{'PRAÇA': ['NOSSA', 'PRAヌA', 'PRACA', 'PCA', 'PC']}, {'TRAVESSA': ['TV']},
{'AVENIDA': ['AV', 'AVENIDA']}, {'VIA': 'VIA'}, {'MARGINAL': 'MARG'},
{'VIADUTO': ['VIAD', 'VIADUTO']}, {'RODOVIA': ['RODOVIA', 'ROD']},
{'ALAMEDA': ['AL', 'ALAMEDA']}, {'LARGO': ['LGO', 'LARGO']},
{'ESTRADA': ['ESTRADA', 'ESTR']})
def ajusta_dados(lista_prefixos: List[Dict[str,str]], busca_rua):
lista_logradouro = []
for x in lista_prefixos:
RUA, PRAÇA, AVENIDA, VIADUTO, ALAMEDA,
ESTRADA, TRAVESSA,VIA, MARGINAL, RODOVIA, LARGO = x.keys())
if Rua_certa == x.keys():
Rua_certa = x.values()```
1 个回答
1
试试这个:
from typing import List, Dict
lista_prefixos: List[Dict[str, List[str]]] = [
{'RUA': ['RUA', 'R']},
{'PRAÇA': ['NOSSA', 'PRAヌA', 'PRACA', 'PCA', 'PC']},
{'TRAVESSA': ['TV']},
{'AVENIDA': ['AV', 'AVENIDA']},
{'VIA': ['VIA']},
{'MARGINAL': ['MARG']},
{'VIADUTO': ['VIAD', 'VIADUTO']},
{'RODOVIA': ['RODOVIA', 'ROD']},
{'ALAMEDA': ['AL', 'ALAMEDA']},
{'LARGO': ['LGO', 'LARGO']},
{'ESTRADA': ['ESTRADA', 'ESTR']}
]
def ajusta_dados(lista_prefixos: List[Dict[str, List[str]]], busca_rua: str) -> str:
for prefixo in lista_prefixos:
for key, values in prefixo.items():
if busca_rua in values:
return key
return "Not Found"
# Example usage:
search_term = "LGO"
result = ajusta_dados(lista_prefixos, search_term)
print("Found:", result)
输出结果:
Found: LARGO