p.....k
p.....k
#python #naukaprogramowania

values = {val: 1 for val in 'AEIOULNRST' and val: 2 for val in 'DG'}
w sensie da się AND gdzieś tam władować? czy jakiś append() ?
  • Najlepsze
  • Wszystkie komentarze
m_bielawski
m_bielawski
@ponuryrolnik:

values = {val: 1 for val in 'AEIOULNRST'}
values.update({val: 2 for val in 'DG'})
albo (ale raczej nie polecam ze względu na
C.....t
C.....t
@ponuryrolnik: możesz if/else użyć, np:

values = {val: 1 if val not in "DG" else 2 for val in 'AEIOULNRSTDG'}
croppz
@ponuryrolnik: jeszcze można tak, zależy co tam ci się bardziej podoba

raw_values = {'AEIOULNRST': 1, 'DG': 2}
values = {chr: v for k, v in values.items() for chr in k}
lionbest
@ponuryrolnik: Możesz spróbować połączyć listy iteratorem:

from itertools import chain
values = {val: 1 for val in chain( 'AEIOULNRST', 'DG' ) }


W przypadku gdy chcesz
p.....k
p.....k
@m_bielawski: to update najlepsze. w sensie działa i czytelne.
m_bielawski
m_bielawski
@ponuryrolnik: jak masz więcej takich "par" wartości, to możesz też przemyśleć taką konstrukcję:

values = {
k: v
for ks, v in [('AEIOULNRST', 1), ('DG', 2)]
for k in ks
}
p.....k
p.....k
@croppz: @m_bielawski: za trudne to na razie...