Portál AbcLinuxu, 9. května 2025 00:27
Řešení dotazu:
print(array[1][barva]) # červená print(array[1][stav]) # zobrazenoatd.. Děkuji
katalog = { 1: {'barva': 'červená', 'stav': 'zobrazeno'}, 5: {'barva': 'černá', 'stav': 'neviditelný'}, } katalog[8] = {'barva': 'modrá', 'stav': 'vyprodáno'} print(katalog[1]['barva']) # červená print(katalog[8]['stav']) # vyprodánoOvšem dal bych raději přednost objektovějšímu řešení.
class Item: def __init__(self, barva, stav): self.barva = barva self.stav = stav katalog = {} katalog[1] = Item('červená', 'zobrazeno') katalog[5] = Item('černá', 'neviditelný') katalog[7] = Item(barva='modrá', stav='vyprodáno') katalog[9] = Item(stav='novinka', barva='bílá') print(katalog[7].stav) # vyprodáno print(katalog[9].barva) # bílá
from collections import namedtuple Item = namedtuple('Item', 'barva stav')
katalog[5] = Item('černá', 'neviditelný') katalog[7] = Item(barva='modrá', stav='vyprodáno')Jinak katalog[1], katalog[5], katalog[7], katalog[9] jsou jako objekty té class ? Pokud ano, každá ta položka vytváří nová objekt ? Díky za upřesnění...
dict()
je dobré, pokud se chystáš něco vepsat mezi ty závorky, co třeba generuje seznam dvojic pro vytvoření slovníku.
array = [] array.append({"barva": "cervena", "stav": "vypnuto", "cislo": 666}) print array[0]["barva"] print array[0]["stav"] print array[0]["cislo"]
print(katalog['kde']['co'][0]) print(katalog['kde']['co'][1]) print(katalog['kde']['co'][2])Děkuji L.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.