Hirdetés
Ú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
Hirdetés
- Milyen egeret válasszak?
- 3D nyomtatás
- Clicks - Van-e értelme fizikai billentyűzetet rakni egy iPhone-ra?
- Azonnali alaplapos kérdések órája
- Milyen légkondit a lakásba?
- Politika
- EAFC 25
- Befellegzett az xDefiantnak
- Spórolós topik
- Indiana Jones and the Great Circle - Íme a gépigény
- További aktív témák...
- Apple Watch Ultra 2 49mm Titanium (ÚJ/Bontatlan) - natúr tok/szürke szíj M/L
- Új Zsír Lenovo ThinkPad X13 G4 Érintős Laptop 13.3" -50% i7-1365U 10Mag 32GB 1TB FHD+ Intel Iris Xe
- Uhh! Lenovo Thinkpad T14 Strapabíró Laptop -60% 14" Bivaly Ryzen 5 PRO 4650U 6Mag 16/256 FHD LTE
- Crucial X9 Pro 2TB Portable SSD USB 3.2 - Új, Bontatlan - Read-Write 1050-1050 MBs - Eladó!
- Crucial T500 PRO 2 TB M.2 NVME PCI-E 4.0 x4 - Új, Bontatlan, Hűtőbordás - 7400-7000 MBs - Eladó!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Axon Labs Kft.
Város: Budapest