> On Apr 29, 2016, at 1:15 PM, Colin Ross <colin.ross....@gmail.com> wrote: > > Hello, > > I have an array that takes on the following form: > > x = [1000,1001,1011,1111] > > The array elements are meant to be binary representation of integers. > > Goal: Access array elements and extract the first two bits. > > e.g. Final result would look something like this: > > x_new = [10,10,10,11] > > What I have tried: > > data_indices = range(4) # Set up array of values to loop over > > for idx in data_indices: > f = x[idx] # Index into array of x values
Instead of looping over a range of indices, you should loop over the data itself. for number in x: s = bin(number) print s > f_idx = f[:2] # Extract first two elements You couldn't slice an integer. First convert to the binary representation in string form. You can strip off the prefix if you just want the digits. s = bin(number).lstrip('0b') Then you can slice off the first two digits if you want. Remember, it's a str of digits, not a number. > print f_idx > > I then receive the following error: > > IndexError: invalid index to scalar variable. > > Any help with accomplishing my outline dgoal would be greatly appreciated. > > Thank you. > > Colin > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor