Найти - Пользователи
Полная версия: проверка списка на неотрицательность
Начало » Python для новичков » проверка списка на неотрицательность
1 2 3 4
sshkrv
здрасте форумчане! простите з аглупый вопрос, я тут новенький.
хочу цикл сделать для списка чтобы убивать его отрицательные элементы. вот пишу функцию, но он выдает ошибку
во первых он хочет, чтобы rows в логическом выражении был int или bool , но мне надо без чтобы он не менял значение, то есть int, к-рый будет округлять не пойдет, а потом он еще пишет, что данный вид цикла невозможен, надо использовать a.any() или a.all()

def zero(rows):
    for i in rows: 
     if rows[i] < 0:
       rows[i]=rows[i]*0
    return rows

как лучше реализовать эту фунцкию? помогите пожуалуйста! не понимаю почему не получается, это ж питон)
спасибо!
FishHook
rows[i]*0
Шутка месяца, однако!
FishHook
потом он еще пишет, что данный вид цикла невозможен, надо использовать a.any() или a.all()
Вау!
Копипасту ошибки в студию!
sshkrv
FishHook
Шутка месяца, однако!
рад, что насмешил. вы не поможете?
bismigalis
sshkrv
это ж питон)
да, поэтому в i будет элемент списка, а не индекс
FishHook
sshkrv
вы не поможете?
используйте filter или списковые выражения
Punk_Joker
 for i in rows:                    #перебираем элементы списка
    if i<0:                                              #проверяем отрицательный ли элемент
        ind = rows.index(i)                       #определяем позицию элемента в списке
        rows[ind] = rows[ind]*0            

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

P.S. Это правильная реализация вашего варианта, хотя все можно сделать горазно красивее.
alexsis
>>> a = [-4, 4, 2, -4, 2, -4]
>>> filter((lambda x: x >= 0), a)
[4, 2, 2]
dimy44
Судя по вопросу он хочет заменить отрицательные числа нулем в самом списке, сохранить количество элементов. Если это так, то
for n, i in enumerate(lst):
    if i < 0:
        lst[n] = 0
Ermak
row = [max(x,0) for x in row]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB