Форум сайта python.su
Всем добрый вечер.
Подскажите, пожалуйста, как можно узнать кол-во слов в строке?
что писать после
…
for line in f: words += line.split() f.close() number_of_words = '' for i in words:
Отредактировано Kato (Дек. 17, 2012 19:21:11)
Офлайн
скажите, плз, будет ли это работать правильно?
for i in line: for j in words: if len(words) < 10: n += 1
Офлайн
KatoА что вам питон говорит? Или вы ему не верите?
будет ли это работать правильно
len(line.split())
Офлайн
ну я так понимаю человек читает из файла строки? readline не подойдет для построчного подсчета?
Офлайн
нет,он открывает заданный файл(к примеру, содержащий текст параграфа из какого-то учебника), и потом выдает, сколько в нем строк, содержащих меньше 10 слов. по-мне, так он какое-то астрономическое число выдал- там текст на 1 параграф, выдает, что таких строк около 6к
Офлайн
print('{}'.format( (lambda f=open('/home/sergeek/ff/python3.2-3.2.2/README'): (len (filter(lambda l: len(l) < 10, map(lambda l: l.split(), iter(f.readline,''))))))()))
Офлайн
sergeek, реквестирую разъяснение кода))) Можно было наваять все с одним списком + парой циклов + условие-if.. Но, у вас что-то нечто крутое, и я тоже хочу до такого уровня скилл прокачать :)
Офлайн
boltayka
она у меня в функциональном стиле просто, плюс оформление закошено под лисп (это я так, может быть, неудачно пошутил). В питоне оно невыразительно смотрится, поэтому так обычно не делают. Разъяснение не нужно на самом деле, т.к. с этими отступами должно читаться легко, вы наверное просто не знаете что-нибудь из map,filter или iter. Читать надо с конца:
Офлайн
Всем привет! Я новобранец на этом форуме, начал осваивать Python пару дней назад :-)
По задаче:
Подскажите, пожалуйста, как можно узнать кол-во слов в строке?
f = open('C:\\Users\\ASUS\\Desktop\\For_Test.txt', 'r') str = f.read() f.close() val = (len(str.split())) print(val)
Отредактировано Mambet (Дек. 13, 2018 19:19:50)
Офлайн
Mambetвидимо в интернете тоже. Так делать не надо
Я новобранец на этом форуме
Офлайн