Hirdetés
- Kormányok / autós szimulátorok topikja
- TCL LCD és LED TV-k
- Házimozi belépő szinten
- Milyen billentyűzetet vegyek?
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Soundbar, soundplate, hangprojektor
- ThinkPad (NEM IdeaPad)
- Jó, jó, mechanikus billentyűzetet... de milyet?
- Bambu Lab 3D nyomtatók
- Elkészült az adventi hardverfelfújt
Ú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
- Miskolc és környéke adok-veszek-beszélgetek
- Google Pixel topik
- Asszociációs játék. :)
- Star Citizen
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Witcher topik
- Xbox tulajok OFF topicja
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Honda topik
- Kuponkunyeráló
- További aktív témák...
- Új RYZEN 7 5800X (8 mag/16 szál) +hűtött VRM-es ASUS lap +Új 32GB hűtőbordás DDR4 kit! GAR/SZÁMLA!!!
- Canon EOS 90D + 18-135mm + 50mm f/1.4
- 0 perces RYZEN 3 laptop eredeti Win10-zel! FullHD IPS / 12GB DDR4 / 1TB M.2 SSD! Garancia+számla!
- AKCIÓ!!! GAMER PC: RYZEN 5 4500-5600X + RTX 3060 12GB GDDR6! GAR/SZÁMLA/BESZÁMÍTÁS/INGYENFUTÁR!!!
- KERESEK eredeti SNES PAL konzolt
Állásajánlatok
Cég: Axon Labs Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest