Вы должны использовать целые шаги для range() и xrange(). Таким образом, ваш 0.5 шаг получает внутренне преобразован в 0, и вы получите эту ошибку. Попробуйте for i in [j / 2.0 for j in xrange(100 * 2)]:
Ответ 4
Вам придется либо создать цикл вручную, либо определить свою собственную функцию диапазона. Для встроенного значения требуется целочисленное значение шага.
Ответ 5
for x in map(lambda i: i * 0.5, range(0,200)):
#Do something with x
Ответ 6
Для больших диапазонов лучше использовать выражение генератора, чем строгий список: