Я имею дело с большим txt-файлом, есть общие 8050000 строк. Краткий пример линий:Почему моя программа занимает так много времени?
usedfor zipper fasten_coat
usedfor zipper fasten_jacket
usedfor zipper fasten_pant
usedfor your_foot walk
atlocation camera cupboard
atlocation camera drawer
atlocation camera house
relatedto more plenty
Я пишу код питона читать строки, и хранить их в качестве словаря. Мой код:
dicCSK = {}
for line in finCSK:
line=line.strip('\n')
try:
r, c1, c2 = line.split(" ")
except ValueError: print line
if c1 not in dicCSK.keys():
dicCSK[c1]= []
str1 = r+" "+c2
dicCSK[c1].append(str1)
Однако, я запустил программу более 20 часов, она все еще работает. Так лучше ли хранить их в словаре? Мой код слишком медленный. Благодарю.
Я голосующий, чтобы закрыть этот вопрос как не относящийся к теме, потому что он просит просмотреть код, поэтому он принадлежит http://codereview.stackexchange.com –
Кроме того: я бы выбрал другой инструмент (и хранилище формат) для этой конкретной работы - детали, в зависимости от того, что вы намереваетесь сделать * с созданным словарем. –
Помимо [2]: 'collections.defaultdict (list)' будет избегать необходимости в 'c1 в dicCSK.keys()' check. –