2011-01-03 2 views

Antwort

52

können Sie eine Liste Verständnis verwenden zu filtern:

j2 = [i for i in j if i >= 5] 

Wenn Sie wirklich wollen, dass es wie Ihr Beispiel sortiert war, können Sie sorted verwenden:

j2 = sorted(i for i in j if i >= 5) 

oder rufen Sie sort am letzten Liste:

j2 = [i for i in j if i >= 5] 
j2.sort() 
+0

Ich wusste nicht, wo die Syntax, schön! – ismail

+3

@ İsmail 'cartman' Dönmez: Das liegt wahrscheinlich daran, dass es ein SyntaxError ist :) –

+0

@Ismail Es ist eigentlich 'if', ich habe meine Meinung verloren, als ich diese Antwort schrieb :). Ich bin froh, dass du diesen Kommentar hinterlassen hast, oder ich hätte es wahrscheinlich nicht bemerkt. –

7

Sie können ein Listenverständnis verwenden:

[x for x in j if x >= 5] 
7

Eine Liste Verständnis ist ein einfacher Ansatz:

j2 = [x for x in j if x >= 5] 

Alternativ können Sie filter für die exakt gleiche Ergebnis verwenden:

j2 = filter(lambda x: x >= 5, j) 

Beachten Sie, dass die ursprüngliche Liste j unmodifizierten ist.

1

Da Ihre gewünschte Ausgabe sortiert wird, müssen Sie auch sortieren:

>>> j=[4, 5, 6, 7, 1, 3, 7, 5] 
>>> sorted(x for x in j if x >= 5) 
[5, 5, 6, 7, 7] 
Verwandte Themen