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@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
- Windows 11
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- TCL LCD és LED TV-k
- Mesterséges intelligencia topik
- exHWSW - Értünk mindenhez IS
- One otthoni szolgáltatások (TV, internet, telefon)
- Villanyszerelés
- Anglia - élmények, tapasztalatok
- Víz- gáz- és fűtésszerelés
- További aktív témák...
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- DELL UltraSharp U2722DE 27" monitor QHD LCD IPS 27% ÁFÁs
- Akciós kisWorkstation! Dell Precision 3570 i7-1255U 4.7GHz / 16GB / 512GB / Quadro T550 4GB FHD 15"
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- 230 - Lenovo Legion 5 (15IRX10) - Intel Core i7-13650HX, RTX 5060
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



