2017-01-17 5 views
1

Как я могу сгенерировать список всех кубов (или квадратов, или квадратных корней и т. Д.) X to y?Диапазон значений от x³ до y³?

Как создать диапазон в результате функции, применяемой ко всем значениям x в y?

Я попытался создать список, но ударил проблемы при попытке куба нецелого значения, а также, возможно, других проблем.

ответ

0

Вы можете использовать функцию map, чтобы сделать то, что вы хотите. Так что если вы хотите, чтобы квадраты чисел от start до end (без НДС) вы можете сделать

result = map(lambda x: x * x, range(start, end)) 

Вы также можете заменить x * x с любым другим вызовом функции, а также. В целом можно поставить операцию (куб, корень) в другой функции и называют, что в map:

def operation(x): 
    return x * x * x 

result = map(lambda x: operation(x), range(start, end)) 

Так говорят start = 1 и end = 4 тогда result будет

[1, 8, 27] 
+0

Awesome, спасибо , Вероятно, просто не использовалась правильная терминология поиска. –

1

Вы должны кубе каждый элемент в списке индивидуально, а не весь список.

numbers=[1,2,3,4,5] 
cubes=[] 
for x in numbers: 
    cubes.append(x**3) 

Это возвращает:

[1, 8, 27, 64, 125] 

Вы можете использовать range, чтобы создать этот список:

for x in range(1, 6): 
    cubes.append(x**3) 

И упрощать это как список понимания:

cubes=[x**3 for x in range(start, end)]