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

У меня есть строка со словами, разделенными пробелами (все слова уникальны, без дубликатов). Я превращаю эту строку в список:

s = "#one cat #two dogs #three birds"
out = s.split()

И посчитайте, сколько значений создано:

print len(out) # Says 192 

Затем я пытаюсь удалить все из списка:

for x in out:
     out.remove(x)

И затем посчитайте снова:

print len(out) # Says 96 

Может кто-нибудь объяснить, пожалуйста, почему он говорит 96 вместо 0?

БОЛЬШЕ ИНФОРМАЦИИ

Каждая строка начинается с «#» и фактически является парой слов, разделенных пробелами: первая в паре - это ключ, а вторая - значение.

Итак, что я делаю, это:

for x in out:
     if '#' in x: 
          ind = out.index(x) # Get current index 
          nextValue = out[ind+1] # Get next value 
          myDictionary[x] = nextValue
          out.remove(nextValue)
          out.remove(x) 

Проблема в том, что я не могу переместить все ключевые пары значений в словарь, так как я перебираю только 96 элементов.

Ответы на вопрос(9)

Ваш ответ на вопрос