Hirdetés
- Amit a Samsung okostelefonok, táblagépek, kütyük "régiózásáról" tudni kell!
- Fűzzük össze a szavakat :)
- Hőszivattyu medencefűtés
- Nagy "hülyétkapokazapróktól" topik
- Asszociációs játék. :)
- Ingyen kellene, de tegnapra
- Hass.io - Home Assistant telepítés, beállítás
- Itt az új LOGOUT!
- A KOReader ebook olvasó program
- Szólánc.
Új hozzászólás Aktív témák
-
cousin333
addikt
A mondás szerint akinek kalapácsa van, mindent szögnek néz...
Ebben az esetben én nem használnám a dictionary-t, mert nem erre való. Az a baj vele ugyanis, hogy nem fix az elemek sorrendje - a pin kiosztásod viszont igen (bár létezik OrderedDict).
Én a helyedben megismerkednék a NamedTuple típussal, illetve nem tudom, hogy hányas Python verziót használsz, de a 3.7-es verzió óta támogatott a DataClass is, ami hasonló céllal (is) készült. Ez utóbbi talán valamivel elegánsabb. Mindkettő a standard könyvtár része.
from collections import namedtuple
...
Ports = namedtuple('Ports', ['Switch1', 'Switch2', 'Switch3', 'Switch4',
'Button1', 'Button2', 'NC7', 'NC8'])
...
# i2c_io_readed_array: [True, True, True, True, False, True, False, False]
port_state = Ports(*i2c_io_readed_array) # figyelj a csillagra!
Ilyenkor sorrendben rendeli hozzá az értékeket a címkékhez. Ezek után már egyszerűen tudsz hivatkozni a tömbre, vagy egyes elemeire, valahogy így:
>>> port_state
Ports(Switch1=True, Switch2=True, Switch3=True, Switch4=True, Button1=False, Button2=True, NC7=False, NC8=False)>>> port_state.Switch2
TrueUgyanez dataclass-al:
from dataclasses import dataclass
@dataclass
class InputPorts:
Switch1: bool
Switch2: bool
Switch3: bool
Switch4: bool
Button1: bool
Button2: bool
NC7: bool
NC8: bool
...
port_state = InputPorts(*i2c_io_readed_array)
A használata kb. ugyanaz, mint a namedtuple-nek.
[ Szerkesztve ]
"We spared no expense"
Új hozzászólás Aktív témák
- HP Victus Gaming 16-r1058nt - ÚJ 16" FullHD IPS GAMER notebook - i5-14500HX,16GB, 512 SSD, RTX 4050
- GAMER PC: i5-12400F/13600KF - RTX 3080 GDDR6X - 512GB-4TB M.2 NVMe SSD -16/32GB DDR4 - GAR/SZÁMLA!!!
- Samsung Galaxy Z FLIP 6 12GB/512GB, Silver Shadow, kártyafüggetlen, garancia, makulátlan, új állapot
- Macbook Pro 15" - 2015, 4 mag i7, 16256GB, 100 ciklusos akku, garancia (y2)
- Eladó Konfig I7-10700 32GB DDR4 512GB SSD RTX3060TI 8GB!
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest