Was wäre der schnellste Weg, um die ersten 4 Bytes eines 8-Byte-Arrays in ein Array und die letzten 4 Bytes in ein anderes Array zu setzen?

Mein Ansatz war es, eine for-Schleife zu erstellen und dann alles zu extrahieren. So was

for i in range(0,7):
    if i < 4:
        ...
    else
        ...

Es muss etwas effizienteres geben. Was vermisse ich?

0
user2426316 10 Dez. 2013 im 02:12

4 Antworten

Beste Antwort

Verwenden Sie Scheiben:

A = [1,2,3,4,5,6,7,8]
A[0:4]
A[4:8]
0
Steve Barnes 9 Dez. 2013 im 22:15

List Slicing ist dein Freund hier;)

array = [0,1,2,3,4,5,6,7]

firstpart,secondpart = (array[:4],array[4:])

print firstpart
[0, 1, 2, 3]
print secondpart
[4, 5, 6, 7]

0
Martino Dino 9 Dez. 2013 im 22:17
a = range(0,8)
b = a[:4]
c = a[4:]

Der einfachste Weg, den ich kenne.

1
Lazybeem 9 Dez. 2013 im 22:17

Versuchen

hi, lo = some_array[:4], some_array[4:]
1
Tim Peters 9 Dez. 2013 im 22:15