Даже цифры в Python

Кто-нибудь знает, имеет ли Python встроенную функцию для печати даже значений. Например, например range().

Спасибо

Ответы

Ответ 2

Просто используйте шаг 2:

range(start, end, step)

Ответ 3

Try:

range( 0, 10, 2 )

Ответ 4

Я не знаю, это то, что вы хотите услышать, но довольно тривиально отфильтровывать нечетные значения со списком.

evens = [x for x in range(100) if x%2 == 0]

или

evens = [x for x in range(100) if x&1 == 0]

Вы также можете использовать необязательный параметр размера шага для range для подсчета на 2.

Ответ 5

>>> if 100 % 2 == 0 : print "even"
...
even

Ответ 6

#This is not suggestible way to code in Python, but it gives a better understanding


numbers = range(1,10)

even = []

for i in numbers:

     if i%2 == 0:

       even.append(i)
print (even)

Ответ 7

Существует также несколько способов написать ленивые бесконечные итераторы четных чисел.

Мы будем использовать модуль itertools и more_itertools 1 чтобы сделать итераторы, которые эмулируют range().

import itertools as it

import more_itertools as mit


# Infinite iterators
a = it.count(0, 2)
b = mit.tabulate(lambda x: 2 * x, 0)
c = mit.iterate(lambda x: x + 2, 0)

Все последние опции могут генерировать бесконечную последовательность четных чисел, 0, 2, 4, 6, ....

Вы можете обрабатывать их, как любой генератор, зацикливаясь на них, или вы можете выбрать n числа из последовательности через itertools.islice или take из itertools recipes, например:

mit.take(10, a)
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

Это эквивалентно list(range(0, 20, 2)). Однако, в отличие от range(), итератор приостанавливается и при следующем запуске возвращает следующую партию четных чисел:

mit.take(10, a)
# [20, 22, 24, 26, 28, 30, 32, 34, 36, 38]

Подробнее

Представленные параметры - это все бесконечные итераторы, которые start имеют целое число, т.е. 0.

  • а. itertools.count дает следующее значение, увеличенное на step=2 (см. эквивалентный код).
  • б. more_itertools.tabulate является itertools recipe, который отображает функцию для каждого значения числовой строки (см. исходный код).
  • с. more_itertools.iterate дает начальное значение (0). Затем он применяет функцию к последнему элементу (увеличивается на 2), дает результат и повторяет этот процесс (см. исходный код).

1 Сторонний пакет, который реализует множество полезных инструментов, включая рецепты itertools, такие как take и tabulate.

Ответ 8

a = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

b = [i for i in a if i % 2 == 0]

print("Original List -->", a,"\n")
print("and the Even Numbers-->", b)