Portál AbcLinuxu, 12. května 2025 07:37

Dotaz: Python - jak předat dictionary do funkce

9.9.2006 21:26 Ondra
Python - jak předat dictionary do funkce
Přečteno: 208×
Odpovědět | Admin
Ahoj. O dictionary jsem toho našel na webu spoustu, ale netuším, jak to strčit jako parametr do nějaké funkce (všechny příklady jsou přímo bez funkcí). Jediné, co jsem našel, je, že se to musí zapsat nějak jako

def fn(**prm):
    neco

Ale nedokážu tam nic předat. Když to zavolám jako

fn({'KEY1':10, 'KEY2':20})
dostanu hlášku

TypeError: fn() takes exactly 0 arguments (2 given)
Nemá někdo krátký příklad, jak napsat tu funkci a jak ji zavolat? Díky moc.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Pavel Stárek avatar 9.9.2006 22:55 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Python - jak předat dictionary do funkce
Odpovědět | | Sbalit | Link | Blokovat | Admin
No ja nevím, ale třeba tohle mě funguje:
def funkce(dict=None):
  print dict

slovnik = {'KEY1':10,'KEY2':20}
print slovnik
funkce(slovnik)
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
9.9.2006 23:50 vice | skóre: 21
Rozbalit Rozbalit vše Re: Python - jak předat dictionary do funkce
Odpovědět | | Sbalit | Link | Blokovat | Admin
Definicí fn(**prm) definuješ "pojmenované parametry", t.zn. v tvém příkladu předáváš parametr KEY1 s hodnotou 10 a KEY2 s hodnotou 20.

Když chceš použít normální parametry (což evidentně chceš), definuj klasicky def fn(param).

Není důležité co se stane, ale jak se to vysvětlí.
10.9.2006 20:50 Ondra
Rozbalit Rozbalit vše Re: Python - jak předat dictionary do funkce
Díky, chyba byla samozřejmě jako obvykle mezi židlí a klávesnicí. Už je mně to jasné :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.