- QNAP hálózati adattárolók (NAS)
- Frissítve! A földön ragadtak a repülők, mert leállt a Microsoft felhője
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Aggasztó dolgot tapasztal a Tesla Kaliforniában
- Hálózati / IP kamera
- SkyShowtime
- DIGI kábel TV
- Windows 10
- Musk felháborodott, elköltözteti a SpaceX-et és az X-et
- Windows 11
Ú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
- Azonnali VGA-s kérdések órája
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- nVidia tulajok OFF topikja
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Milyen légkondit a lakásba?
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- QNAP hálózati adattárolók (NAS)
- Frissítve! A földön ragadtak a repülők, mert leállt a Microsoft felhője
- E-roller topik
- Politika
- További aktív témák...
- EVGA RTX 3080 10GB GDDR6X XC3 ULTRA GAMING Eladó! 149.000.-
- ZBook Fury 15 G7 15.6" FHD IPS i9-10885H RTX 4000 32GB 512GB NVMe ujjlolv IR kam gar
- GIGABYTE RTX 3070 8GB GDDR6 VISION OC Eladó! 118.000.-
- INNO3D RTX 3070 8GB GDDR6 ICHILL X3 Eladó! 106.000.-
- INNO3D RTX 3070 8GB GDDR6 ICHILL X4 Eladó! 108.000.-
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen