5

私はこのリストを持っています:

a_list = [0x00, 0x00, 0x00, 0x00]

印刷すると、次のようになります。

print a_list
[0, 0, 0, 0]

しかし、私は :[0x0, 0x0, 0x0, 0x0]または[0x00, 0x00, 0x00, 0x00]、それは今のところ問題ではありません。

次のような関数を作成しようとしました。

def hex_print(the_list):
     string = '['
     for element in the_list:
         if(the_list.index(element) < len(the_list)):
             print(str(the_list.index(element)))
             string = string + hex(element) + ', '
         else:
             print(str(the_list.index(element)))
             string = string + hex(element) + ']'
     print string

ただし、出力されるメッセージは常に次のとおりです。

[0x0, 0x0, 0x0, 0x0,

the_list.index(element) は、要素の実際の位置ではなく、常に the_list 内の要素の最初の出現を返すと思います。要素の実際の位置を取得する方法はありますか?

4

5 に答える 5

7

次のことを試してください。

print [hex(x) for x in a_list]

出力は次のようになります: http://codepad.org/56Vtgofl

于 2013-09-13T10:26:53.340 に答える
5
print [hex(no) for no in a_list]

hex関数は、数値をその 16 進数表現に変換します。

于 2013-09-13T10:23:54.420 に答える