Mam następujący wykazlista Zwrot produktów na liście większe niż jakąś wartość
j=[4,5,6,7,1,3,7,5]
Jaki jest najprostszy sposób, aby powrócić [5,5,6,7,7]
będących elementami j większy lub równy 5?
Mam następujący wykazlista Zwrot produktów na liście większe niż jakąś wartość
j=[4,5,6,7,1,3,7,5]
Jaki jest najprostszy sposób, aby powrócić [5,5,6,7,7]
będących elementami j większy lub równy 5?
Można użyć wyrażeń listowych, aby je filtrować:
j2 = [i for i in j if i >= 5]
Jeśli rzeczywiście chcesz go klasyfikowane jak Twój przykład był, można użyć sorted
:
j2 = sorted(i for i in j if i >= 5)
lub zadzwoń sort
na finał list:
j2 = [i for i in j if i >= 5]
j2.sort()
Nie wiedziałem, gdzie składnia jest miła! – ismail
@ İsmail 'cartman' Dönmez: To prawdopodobnie dlatego, że jest to błąd składni :) –
@Ismail To tak naprawdę "jeśli", po prostu straciłem rozum, kiedy pisałem tę odpowiedź :). Cieszę się, że opuściłeś ten komentarz, bo inaczej prawdopodobnie bym tego nie zauważył. –
Możesz użyć rozumienia list:
[x for x in j if x >= 5]
Lista rozumienie jest proste podejście:
j2 = [x for x in j if x >= 5]
Alternatywnie, można użyć filter
na dokładnie tym samym wynik:
j2 = filter(lambda x: x >= 5, j)
Uwaga że oryginalna lista j
jest niemodyfikowana.
Od żądanego wyjścia jest posortowana, trzeba także je uporządkować:
>>> j=[4, 5, 6, 7, 1, 3, 7, 5]
>>> sorted(x for x in j if x >= 5)
[5, 5, 6, 7, 7]
i jaki będzie najszybszy? – Oren