Ами така си написах функцията, защото така ми дойде на акъл. Трябваше да обходя едни неща и да им направя статистика, колко често се срещат във файла.
Та понеже отскоро се запознавам с питон, от три-четири дена и речника ми дойде най-подходящ като структура, а от де да зная, че трудно се подрежда. Одеве гледах за тези неща. Питат хората като луди. Та май ще ги извадя от речника и ще нахакам ключовете, според стойността във обикновен лист. То речника май и по индекс не можеш го достъпи.
А относно списъците ... ами да. Днес дори четох в едно pdf-че, че май си има тулче за тази работа. FIFO от обикновен списък или tuple. Изобщо май от всичко, дето може да му се приложи read() и write().
Реда на вкарване е произволен, защото входящите данни са такива. И като ги обхождам, само вдигам брояча-стойността, ако са в речника или просто добавям нов ключ със стойност 1. Ако ги няма там.
def sfreq(in_file):
f = in_file
freq = {}
for k in f:
if freq.has_key(k):
freq[k] += 1
else:
freq[k] = 1
return freq
Даже си мисля, че това else може да е излишно, но не съм пробвал. Дали ще вмъкне нов елемент, ако го махна?