Найти - Пользователи
Полная версия: Принимайте новичка.
Начало » Центр помощи » Принимайте новичка.
1
FDMa
Приветствую друзья!
Я решил освоить python. Сразу оговорюсь, это будет мой первый язык программирования. :)
Буду благодарен за любую помощь и подсказки от уважаемого сообщества.
Какую литературу выбрать, в какой среде проще начать?
По совету взял конкретную задачу, чтобы осваивать язык. Вроде как мотивация.
Так вот поставил себе задачу. Прошу не сильно не возмущаться, это первый опыт.
1 Открыть массив
2 Взять первое слово первой строки (былобы хорошо, чтобы была изменяемая функция)
3 проверить наличие строк с этим словом
4 вынести строки с этим словом в буфер если строк не меньше 100 (былобы хорошо, чтобы была изменяемая функция)
5(2)все слова до конца файла
6(3)
7(4)
8 записать в файл unsrt.result строки которые не попали во все остальные файлы.

Вот что получилось…
input = file("input.txt", "r")
f = input.readlines()
for l in f:
pat = l.split()[0]
ans = []
for q in f:
if pat in q.split(' '):
ans.append(q)
if(len(ans) > 100):
out = file("%s.result" % pat, "w")
out.write("".join(ans))
out.close()
Естественно это очень медленно… Ооочень. Как по вашему можно оптимизировать этот код, или вообще алгоритм.
Спасибо!
FDMa
lorien
1) считать все строки
2) разбить строки на множество слов
3) составить словарь. Ключами будут слова, значениями будут списки с номерами строк, где это слово встречается
4) далее не особо понял что надо, ну в общем на основе созданного словаря сделать то, что надо )
А если можно с примерами?
Вообще если кратко то задача стоит разбить большой файл на фалы по ключевым словам.
FDMa
lorien
А если можно с примерами?
Мне тоже лень думать )
Вот как мне кажется, это должно создать словарь.
import string                      
input = file("input.txt", "r")
words = {}
for line in u.readlines():
line = string.strip(line, " \n")
for word in line.split(" "):
А дальше как, ума не приложу. Помогите пожалуйста.
Это мои первые в жизни строки.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB