Форум сайта python.su
0
Вот exemple.txt )
Прикреплённый файлы:
exemple.png (51,9 KБ)
Офлайн
0
Evgen_irk
1) Посмотреть ваш txt-файл с данными.2) В скрипте у вас ошибки: в 4-й строке опечатка “i.splint” должно быть “i.split” в 7-й строке дописать “print res”
Офлайн
43
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)
Офлайн
4
Попробуйте посмотреть, что получается:
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
Офлайн
0
Evgen_irk
Попробуйте посмотреть, что получается:
Прикреплённый файлы:
111.png (87,1 KБ)
Офлайн
568
Grinader,
Внимание на последнюю строку!!!!
Там пустой список, откуда он взялся?
Лишняя строчка в исходном файле, на ней и ошибка ибо строка есть, из файла она читается, но данных то там нет.
Офлайн
0
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Б)
Офлайн
0
Вот еxtmple.txt на всяк случай выложу)
Прикреплённый файлы:
exemple.txt (2,0 KБ)
Офлайн
0
А вот вопросик: Как подсчитать количество одинаковых слов в тексте .txt (вот скажем именно ComponentA) и вывисти как то так
ComponentA = 5
Офлайн
47
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)
Офлайн