Python removing negative items in a list in a nested for loop

I'm trying to make a program that a. Takes several numbers from the user, separated by spaces, b. Removes any positive number (greater than -1), and c. Prints out those numbers from largest to smallest (-1 -2 -3 -20 -60).

It appears that whenever the for loop to determine if the number in the list is greater than -1 (and thus should be deleted), the program picks (seemingly) random numbers to remove. I'm bad with lists (indices, what's callable, subscriptable, etc). Everything else seems to be running fine, save for this for loop. What should I do?

numbers = input("Let's sort a list of numbers.  Give me a list of numbers, each separated by a space: ").split()
new_list = list(map(int,numbers))

for x in new_list:
    if x >= 0:
        new_list.pop

new_list.sort()
new_list.reverse()

def list_to_string(list):
    string = ""
    for x in list:
        string += str(x) + " "
    return string

print(list_to_string(new_list))

Input 1: 62 19 4 3 18 5 7

Output 1: 19 5 3

What I want for Output 1: nothing

Input 2: -18 4 -1 -39 -5 92 37 42

Output 2: 37 -1 -5 -18 -39

What I want for Output 2: -1 -5 -18 -39



Comments

Popular posts from this blog

I get wrong characters when retreiving the message body of an email using TIdIMAP4.UIDRetrieveTextPeek2()

How to drop the all the 1's in a correlation matrix

Today Walkin 14th-Sept