Új hozzászólás Aktív témák

  • atesss

    addikt

    Felbuzdulva azon, hogy - Silεncε segítségével - tök jól működik ez az előző, dictionary-s megoldás, gondoltam hogy egy következő feladatban is ezt használnám adatszerkezetnek.
    Adott egy szintén HW-kezelő library (PCF8574 I2C-s I/O modul), ami egy port 8 pinjének állapotát egy array-ben adja vissza (i2c_io_readed_array = pcf.port).
    Ezen még kicsit dolgozok (megfordítom a tömböt, és negálom az elemeket), de végeredményben egy ugyanolyan, 8 elemű, boolean tagokból álló tömböt kapok (pl. [True, True, True, True, False, True, False, False] ).
    Arra, hogy fizikailag melyik pin-re mi van kötve, - az előző feladathoz hasonló okokból - most is csináltam - az ezt kezelő függvényen belül - egy "táblázatot" egy dictionary-vel:
        i2c_io_port_dictionary = {
            1: 'Switch1',
            2: 'Switch2',
            3: 'Switch3',
            4: 'Switch4',
            5: 'Button1',
            6: 'Button2',
            7: '[Not-Connected7]',
            8: '[Not-Connected8]'
        }

    És az aktuális értékek pedig:
    i2c_io_readed_array_reversed [True, True, True, True, False, True, False, False]
    Hogyan tudnák ebből a kettőből valami ilyesmi formátumot csinálni ?
        i2c_io_readedvalue_dictionary = {
            'Switch1' : 'True',
            'Switch2' : 'True',
            'Switch3' : 'True',
            'Switch4' : 'True',
            'Button1' : 'False',
            'Button2' : 'True',
            '[Not-Connected7]' : 'False',
            '[Not-Connected8]' : 'False',
      }
    Egy olyat találtam csak eddig, amivel az eredeti dictionary-hez képest
    meg tudom fordítani a kulcsokat és az értékeket:
        i2c_io_inverted_dictionary = dict()
        for key, value in i2c_io_port_dictionary.items():
            i2c_io_inverted_dictionary.setdefault(value, list()).append(key)
    De aztán elakadtam, mert nem tudom hogyan tudnám átcserélni az értékeket a tömbben lévőkre.

    [ Szerkesztve ]

Új hozzászólás Aktív témák