Как сгенерировать список [3**0, 3**1, 3**1 + 3**0] в Python

Есть ли способ сгенерировать такой список с помощью одного цикла?


Ответы (2 шт):

Автор решения: nyekitka

Цикл тут и не нужен, просто делаете этот список одной строчкой:

a = [1, n, n + 1] #возведение в степень тут вообще не нужно
→ Ссылка
Автор решения: mrBars1k

В чём проблема просто поставить переменную, которая будет принимать число в список?

n = 3

result = [n**0, n**1, n**1 + n**0]

print(result)

Результат:
[1, 3, 4]

Если для многократного использования, то можно через функцию:

def this(n):
    result = [n ** 0, n ** 1, n ** 1 + n ** 0]
    return result

print(this(3))

Результат:
[1, 3, 4]
→ Ссылка