Форум сайта python.su
Вот exemple.txt )
Прикреплённый файлы: exemple.png (51,9 KБ)
Офлайн
Evgen_irk
1) Посмотреть ваш txt-файл с данными.2) В скрипте у вас ошибки: в 4-й строке опечатка “i.splint” должно быть “i.split” в 7-й строке дописать “print res”
Офлайн
res = {} with open("data.dat", "r") as f: for i in f: try: comp = i.split()[1] except IndexError: print(i) res.setdefault(comp, 0) res[comp] += 1 print re
Отредактировано sergeek (Окт. 7, 2013 13:30:36)
Офлайн
Попробуйте посмотреть, что получается:
res = {} with open("data.dat", "r") as f: for i in f: lst = i.split() print lst comp = i.split()[1] res.setdefault(comp, 0) res[comp] += 1 print res
Офлайн
Evgen_irk
Попробуйте посмотреть, что получается:
Прикреплённый файлы: 111.png (87,1 KБ)
Офлайн
Grinader,
Внимание на последнюю строку!!!!
Там пустой список, откуда он взялся?
Лишняя строчка в исходном файле, на ней и ошибка ибо строка есть, из файла она читается, но данных то там нет.
Офлайн
sergeek
res = {}
with open(“data.dat”, “r”) as f:
for i in f:
try:
comp = i.split()
except IndexError:
print(i)
res.setdefault(comp, 0)
res += 1
print re
Прикреплённый файлы: 112.png (75,8 KБ)
Офлайн
Вот еxtmple.txt на всяк случай выложу)
Прикреплённый файлы: exemple.txt (2,0 KБ)
Офлайн
А вот вопросик: Как подсчитать количество одинаковых слов в тексте .txt (вот скажем именно ComponentA) и вывисти как то так
ComponentA = 5
Офлайн
from collections import defaultdict res = defaultdict(int) with open('exemple.txt') as f: for line in f: if line: res[line.split()[1]] += 1 for k, v in res.items(): print(k, v, sep=" = ")
Отредактировано bismigalis (Окт. 7, 2013 16:18:47)
Офлайн