tengo el siguiente listalista de devolución de artículos de la lista mayor que algún valor
j=[4,5,6,7,1,3,7,5]
¿Cuál es la forma más sencilla de volver [5,5,6,7,7]
siendo los elementos en j mayor o igual a 5?
tengo el siguiente listalista de devolución de artículos de la lista mayor que algún valor
j=[4,5,6,7,1,3,7,5]
¿Cuál es la forma más sencilla de volver [5,5,6,7,7]
siendo los elementos en j mayor o igual a 5?
Se puede utilizar una lista por comprensión filtrarlo:
j2 = [i for i in j if i >= 5]
Si usted quiere realmente lo resuelto al igual que su ejemplo fue, puede utilizar sorted
:
j2 = sorted(i for i in j if i >= 5)
o llame sort
en la final list:
j2 = [i for i in j if i >= 5]
j2.sort()
No sabía acerca de la sintaxis where, ¡agradable! – ismail
@ İsmail 'cartman' Dönmez: Eso es probablemente porque es un SyntaxError :) –
@Ismail En realidad es 'si', acabo de perder la cabeza cuando estaba escribiendo esa respuesta :). Me alegro de que hayas dejado ese comentario o probablemente no me hubiera dado cuenta de –
Puede usar una lista de comprensión:
[x for x in j if x >= 5]
Una lista por comprensión es un enfoque simple:
j2 = [x for x in j if x >= 5]
Alternativamente, se puede utilizar filter
para exactamente el mismo resultado:
j2 = filter(lambda x: x >= 5, j)
Tenga en cuenta que la lista original j
es sin modificar.
Desde su salida deseada se ordena, también es necesario para solucionar el problema:
>>> j=[4, 5, 6, 7, 1, 3, 7, 5]
>>> sorted(x for x in j if x >= 5)
[5, 5, 6, 7, 7]
y lo que será el más rápido? – Oren