Új hozzászólás Aktív témák
-
axioma
veterán
válasz
jerry311
#4273
üzenetére
Nem egeszen egyertelmu, hogy ekvivalens kodra vagy-e kivancsi, de mondjuk.
A te logikaddal csak "more pythonic way":def parseupdates(dictentry):
cleanlines = [line for line in dictentry.splitlines() if line.strip()]
d = " : "
workarray = {}
for line in cleanlines:
arr = line.split(d)
workarray[arr[0].strip()] = arr[1].strip()Sot, ha biztos hogy mindig pontosan egy : van benne:
def parseupdates(dictentry):
d = " : "
workarray = {}
for line in dictentry.splitlines():
if line.strip():
a,b = line.split(d)
workarray[a.strip()] = b.strip()Azert a
linenevet nem jo indexnek hasznalni, foleg hogy a for ciklus pont ki tudja venni a konkret elemet is, nem kell az indexeket kovetni. Ami me'g nagyon idegen, hogy aresdictionary-nak van inicializalva, kozben tombkent hasznaltad.Hm varj most nezem nem csak egy : -od van a peldaban. Es azokat te se rakod utana ossze... tehat az sztem eleve hozott volna "36":"35" , "36":"33" parokat, es mazlid hogy mind paratlan darab :, amugy me'g jobban keresztbe sikerult volna (nem futtattam, csak gyanitom)
Szoval az eredeti feladatra talan inkabb:
def parseupdates(dictentry):
d = " : "
workarray = {}
for line in dictentry.splitlines():
idx = line.find(d)
if idx != -1:
workarray[line[:idx].strip()] = line[idx+1:].strip()
Új hozzászólás Aktív témák
- Keresünk iPhone 13/13 Mini/13 Pro/13 Pro Max
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- Apple iPad A16 128GB, 1 Év Garanciával
- HIBÁTLAN iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen, MS3590
- BESZÁMÍTÁS! Lenovo Legion Go 512GB SSD játékkonzol garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

