0

リストがあり、リスト内の各数値は 2 の累乗の指数を表します。たとえば、リストがあります。

 Binarylist = [[4,3,0],[2,1,0]]

Binarylist[0] の場合、各数値は 2^4、2^3、2^0 として表すことができるため、基数 2 で 11001 になります。

Binarylist[1] の場合、各数値は 2^2、2^1、2^0 として表すことができるため、基数 2 で 111 になります。

[[4,3,0],[2,1,0]] を 11001 と 111 にする方法を教えてください。

4

6 に答える 6

3

問題の解決には 2 つの部分があります。リスト内の数値はバイナリ文字列内の数値を表すため、最初にリストを整数に変換する必要があります。bin次に、バイナリ形式に変換するために使用できます。

>>> bin(sum(2**n for n in Binarylist[0]))
'0b11001'

整数をバイナリ形式の文字列に変換する方法をさらに制御したい場合は、この SO 投稿を参照してください。

于 2013-10-17T01:26:43.857 に答える