Разделить элементы списка на положительные и отрицательные

Исходный список содержит положительные и отрицательные числа. Требуется положительные поместить в один список, а отрицательные - в другой.

import random

a = []
for i in range(20):
    a.append(int(random.random() * 20) - 10)

print(a)

neg = []
pos = []
for i in a:
    if i < 0:
        neg.append(i)
    elif i > 0:
        pos.append(i)

print(neg)
print(pos)

С комментариями:

# модуль random содержит функцию random(),
# генерирующую случайные числа
import random

# исходный список
a = []
# цикл, в котором он заполняется
for i in range(20):
    # случайное вещественное число от 0 до 0.99(9)
    n = random.random()
    # случайное число вещественное от 0 до 19,(9)
    n = n * 20
    # преобразование к целому (от 0 до 19)
    n = int(n)
    # случайное число от -10 до 9
    n = n - 10
    # добавление случайного числа в коне списка
    a.append(n)

# вывод исходного списка на экран
print(a)

# список для отрицательных чисел
neg = []
# список для положительных чисел
pos = []
# перебирается каждый элемент (i) исходного списка (a)
for i in a:
    # если элемент меньше нуля,
    if i < 0:
        # то добавляется к списку отрицательных чисел
        neg.append(i)
    # если элемент больше нуля,
    elif i > 0:
        # то добавляется к списку положительных чисел
        pos.append(i)
    # Примечание. Ноль не добавляется никуда

# вывод списков
print(neg)
print(pos)

Пример выполнения:

[-9, -3, -9, -5, 2, -3, 0, 6, 7, -2, -9, -7, 8, -1, 6, 3, -6, -2, 1, -3]
[-9, -3, -9, -5, -3, -2, -9, -7, -1, -6, -2, -3]
[2, 6, 7, 8, 6, 3, 1]