Portál AbcLinuxu, 10. května 2025 00:12

Dotaz: Python - konverze řádků na čísla

5.10.2008 07:18 decumanus | skóre: 12 | blog: Clusium
Python - konverze řádků na čísla
Přečteno: 255×
Odpovědět | Admin
Ahoj, začátečnický dotaz. Potřebuju načíst textový soubor tak, aby se k němu Python chovat jako k posloupnosti čísel (záleží na pořadí). Co řádek, to číslo. Načtení pomocí readlines() chodí, ale když zkouším konverzi takto

for kus in hodnoty: cisla+=float(kus)

, dostanu hlášku TypeError: 'float' object is not iterable. Jak na to? Díky za reakce
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.10.2008 09:10 JS
Rozbalit Rozbalit vše Re: Python - konverze řádků na čísla
Odpovědět | | Sbalit | Link | Blokovat | Admin
Predne, pokud jste zacatecnik, a chcete aby vam opravdu nekdo pomohl, mel byste se naucit vlozit sem vic kodu, protoze z jedne radku muzeme tezko urcit, v cem mate problem, kdyz netusime, jaky typ ma "cisla", "kus", "hodnoty" apod.

Nicmene, protoze jste zacatecnik :), budu mily a strelim od boku - patrne chcete udelat:

for kus in hodnoty: cisla+=[float(kus)]

pripadne (asi rychlejsi):

for kus in hodnoty: cisla.append(float(kus))

5.10.2008 09:14 razor | skóre: 33
Rozbalit Rozbalit vše Re: Python - konverze řádků na čísla
Odpovědět | | Sbalit | Link | Blokovat | Admin
No nevím jestli tě přesně chápu. Ale nechceš něco takového:
[ float(a) for a in input.readlines() ]
5.10.2008 10:30 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Python - konverze řádků na čísla
No ono i to readlines je zbytečné, protože soubor funguje jako iterátor přes řádky, takže
[ float(a) for a in file('/cesta/nekam') ]
(a input je built-in funkce, tak není dobrý nápad to používat i jako jméno proměnné).
5.10.2008 11:11 razor | skóre: 33
Rozbalit Rozbalit vše Re: Python - konverze řádků na čísla
jo, tvoje verze je rozhodně lepší :)
6.10.2008 19:04 decumanus | skóre: 12 | blog: Clusium
Rozbalit Rozbalit vše Re: Python - konverze řádků na čísla
Pomohlo, díky:-)

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.