zu Erst mal: die Funktion soll die Liste nicht verändern. Aber sie tut es und ich weis nicht wieso.
Hier ein kleines Testprogramm:
Code: Alles auswählen
# -*- coding: utf-8 -*-
def hex2(x):
""" takes an integer and returns a hex string like "ff"
it also understand a list and formats every part of it """
if type(x) == list:
for i in range(len(x)):
x[i] = hex(int(x[i])).split('x')[1]
while len(x[i]) < 2: x[i] = '0'+x[i]
else:
x = hex(int(x)).split('x')[1]
while len(x) < 2: x = '0'+x
return x
l = [0,1,2,3,4,5]
l2 = l
print "l > "+str(l)
print "l2> "+str(l2)
print hex2(l2)
print "l > "+str(l)
print "l2> "+str(l2)
print ""
i = 245
print i
print hex2(i)
print i
Code: Alles auswählen
>>>
l > [0, 1, 2, 3, 4, 5]
l2> [0, 1, 2, 3, 4, 5]
['00', '01', '02', '03', '04', '05']
l > [0, 1, 2, 3, 4, 5]
l2> [0, 1, 2, 3, 4, 5]
245
f5
245
>>>
Code: Alles auswählen
>>>
l > [0, 1, 2, 3, 4, 5]
l2> [0, 1, 2, 3, 4, 5]
['00', '01', '02', '03', '04', '05']
l > ['00', '01', '02', '03', '04', '05']
l2> ['00', '01', '02', '03', '04', '05']
245
f5
245
>>>
...danke für die Mühen