Elevando elementos de una lista a un poder.

¿Cómo puedo elevar los números en la lista a un cierto poder?

Utilice la lista de comprensión:

def power(my_list): return [ x**3 for x in my_list ] 

https://docs.python.org/3.4/tutorial/datastructures.html#list-comprehensions

 def turn_to_power(list, power=1): return [number**power for number in list] 

Ejemplo:

  list = [1,2,3] turn_to_power(list) => [1, 2, 3] turn_to_power(list,2) => [1, 4, 9] 

UPD: también debe considerar leer sobre la función pow(x,y) de math lib: https://docs.python.org/3.4/library/math.html

Nadie ha mencionado map and functools.partial y la respuesta aceptada no menciona pow , pero en aras de la exhaustividad, estoy publicando esta solución:

 import functools bases = numbers = [1,2,3] power = exponent = 3 cubed = list(map(functools.partial(pow, exponent), numbers)) 

Yo mismo usaría una lista de comprensión según lo sugerido, pero creo que functools.partial es una función muy interesante que merece ser compartida. Robé mi respuesta de @ sven-marnach aquí, por cierto.

Otro patrón de map , utilizando lambda lugar de function.partial() :

 numbers=[1,2,3,4] squares=list(map(lambda x:pow(x,2),numbers)) print(squares) 

En realidad, su script hace lo que quiere, y ese es el resultado (tenga en cuenta que está aplicando la función de potencia a [1,2,3,4,5,6,7,8,9])

(‘Lista cúbica:’, [1, 8, 27, 64, 125, 216, 343, 512, 729])

Su problema es que también modificó la lista original, debido a la naturaleza en el tipo de lista en python. Si desea conservar también su lista original, debe pasar una copia a su función. Puedes hacerlo asi

 def main(): numbers=[1,2,3,4,5,6,7,8,9] numbers3=power(numbers[:]) print('Original list:', numbers) print('Cubic list:', numbers3) 

Use una lista de comprensión para boost la velocidad:

 print('Original list:', numbers) print('Cubic list:', [n**3 for n in numbers]) 

Simplemente puedes hacer:

 numbers=[1,2,3,4,5,6,7,8,9] numbers3 = [] for n in numbers: numbers3.append(n**3) print('Original list:', numbers) print('Cubic list:', numbers3)