Kaip gauti iš „Python“ diktanto, kai raktas žinomas tik iš dalies?

Aš turiu diktą , kuriame yra eilutės tipo raktai, kurių tikslių verčių aš negaliu žinoti (nes jie dinamiškai generuojamas kitur). Tačiau aš žinau, kad norimame rakte yra tam tikras substringas ir kad vienintelis raktas su šia substringa tikrai yra dikte.

Koks yra geriausias arba „pitoniškiausias“ būdas gauti šio rakto vertę?

Galvojau apie dvi strategijas, bet abi man yra tokios:

for k,v in some_dict.items():
    if 'substring' in k:
        value = v
        break

- ARBA -

value = [v for (k,v) in some_dict.items() if 'substring' in k][0]

Pirmasis metodas yra didelis ir šiek tiek negražus, o antrasis yra švaresnis, tačiau papildomas indeksavimo žingsnis į supratimą apie sąrašą ([0]) mane erzina. Ar yra geresnis būdas išreikšti antrąją versiją, ar glaustesnis būdas parašyti pirmąją?

12
задан coredumperror 13 August 2011 в 07:51
поделиться