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

Today Walkin 14th-Sept

Spring Elasticsearch Operations

Hibernate Search - Elasticsearch with JSON manipulation