Trabalhando em Python 2.7. Eu tenho um dicionário com nomes de equipe como as chaves e a quantidade de execuções marcadas e permitidas para cada equipe como a lista de valores:
NL_East = {'Phillies': [645, 469], 'Braves': [599, 548], 'Mets': [653, 672]}
Eu gostaria de poder alimentar o dicionário em uma função e iterar sobre cada equipe (as teclas).
Aqui está o código que estou usando. No momento, só posso ir equipe por equipe. Como eu itera sobre cada equipe e imprime o win_percentage esperado para cada equipe?
def Pythag(league):
runs_scored = float(league['Phillies'][0])
runs_allowed = float(league['Phillies'][1])
win_percentage = round((runs_scored**2)/((runs_scored**2)+(runs_allowed**2))*1000)
print win_percentage
Obrigado por qualquer ajuda.
Você também pode facilmente iterar nos dicionários:
fonte
Os dicionários possuem uma função integrada chamada
iterkeys()
.Experimentar:
fonte
Os objetos de dicionário permitem que você itere sobre seus itens. Além disso, com a correspondência de padrões e a divisão de
__future__
você pode simplificar um pouco as coisas.Finalmente, você pode separar sua lógica da sua impressão para facilitar um pouco as coisas de refatorar / depurar posteriormente.
fonte
A compreensão da lista pode encurtar as coisas ...
fonte