Ú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@dataclassclass InputPorts:Switch1: boolSwitch2: boolSwitch3: boolSwitch4: boolButton1: boolButton2: boolNC7: boolNC8: bool...port_state = InputPorts(*i2c_io_readed_array)A használata kb. ugyanaz, mint a namedtuple-nek.
Új hozzászólás Aktív témák
- 203 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070
- BESZÁMÍTÁS! Részletfizetés 0% THM ÚJ AMD RYZEN 7 5700X3D OEM processzor 3 év 27% áfa
- Bomba ár! Dell Latitude 7410 - i7-10810U I 16GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Garancia!
- iPhone 13 Pro 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4383, 100% Akkumulátor
- Eladó iPhone 15 Rózsaszín / 256 GB újszerű, 6 hó bolti garival
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


