Some HAT...

= Анабар.ru => Python-форумы => Язык программирования Python => сообщение 831
| Вход | Регистрация
нет
фото
Автор:  Anabar
Дата:  4-Apr-2006 18:54 (gmt = -3)

тогда преобразуйте список целиком

допустим у вас есть список строк и известно что каждый элемент на самом деле является шестнадцатиричным числом. Тогда стоит использовать встроенную функцию int( [x[, radix]]) . Например так:

 1  #!/usr/bin/env python
 2  # -*- coding: koi8-r -*-
 3  
 4  srcList = ['A07','00E4', '137', 'FEEA07B', '90C']
 5  print srcList
 6  
 7  # из списка строк делаем список чисел
 8  resList = map( lambda z: int(z,16), srcList )
 9  print resList
10  
11  # Побитовый сдвиг вы можете осуществить умножением на множитель 2**n, 
12  # где n число бит на которые нужно сдвинуть. (ну или целочисленным делением).
13  resList[2] = resList[2] * 2 ** 5
14  
15  # распечатка результатов в шестандцатиричном же виде
16  for k in resList: print '%X' % k  # или используйте маленький x
17  
18  raw_input('Press Ctrl+Shift+F11 to finish')



все сообщения ветви:

Недостаточно прав для написания ответа
Время генерации страницы в секундах: 0.526