私はLIGHTxという名前のブール変数でいくつかのバイナリシングルシステムを作ろうとしています。将来の計算のためのリストに固定小数点要素を持つPython booleanリスト
LIGHT1 = True
LIGHT2 = True
LIGHT3 = False
LIGHT4 = False
次に、I巣これらの変数を、
signal = [LIGHT1, LIGHT2, LIGHT3, LIGHT4]
は現在、私は私の信号である数をintにリストを変換するPython: Boolean List to Binary StringとConvert base-2 binary number string to intからのアイデアを使用しています。ここでは、[1,1,0,0] 12
In [97]: boolList2BinString(signal)
Out[97]: 12
私の質問であることを意味します:
- にはどうすれば自動的にライトの値を更新することで「信号」の要素を更新することができ、
signal = [LIGHT1, LIGHT2, LIGHT3, LIGHT4]
を繰り返し実行するのではなく、 Whitchは、残りのコードでは、LIGHTx = xxxx
とboolList2BinString(signal)
を実行するだけです。 (たぶんC++のポインタのような何か?) - 質問1では不可能な場合は、リスト内のLIGHTの順序を修正できる方法はありますか?
[更新]してください
はを除外する方法その 'boolList2BinString' 関数内の '信号' リストを作成します。
オリジナル:内部
def boolList2BinString(lst):
return int('0b' + ''.join(['1' if x else '0' for x in lst]), 2)
ビル:事前に
def boolList2BinString():
osignal = [LIGHT1 , LIGHT2 , LIGHT3 , LIGHT4 ]
return int('0b' + ''.join(['1' if x else '0' for x in signal ]), 2)
ありがとう!