Как насчет этого?
from collections import defaultdict
all_dict = defaultdict(list)
for index, val in enumerate(x):
for value in val:
if value not in all_dict:
all_dict[value].append(index)
print(all_dict)
Это даст вам ожидаемый результат:
defaultdict(list,
{'blablabla': [0],
'blabliblou': [0],
'blablablou': [1],
'blibloubla': [1],
'oubabababa': [2],
'baboulila': [2]})
Вы не можете полагаться на это поведение. Это - просто совпадение, которое происходит, вероятно, из-за Вашего объема выборки или реализации GetHashCode. После того как Вы добавляете достаточно объектов в таблицу и вызываете достаточные рехеширования, ключи не будут заказаны.
В MSDN явно говорится, что порядок Ключей неуказанный (http://msdn.microsoft.com/en-us/library/yt2fy5zk.aspx)
Вы ищете SortedDictionary<K,V>
. Словарь<K,V>
хеширование использования, которое с маленькими наборами может выглядеть поверхностно подобным сортировке.