@nazandr

Почему не работает map?

не работает:
while True:
	map(newsParser,links)
	time.sleep(60 * 4)

работает:
while True:
	newsParser(links[0])
  newsParser(links[1])
	time.sleep(60 * 4)

Сама функция если это важно
def newsParser(link):
	global lastNews
	try:
		lastNews[link]
	except KeyError:
		lastNews[link] = ''
	feed = feedparser.parse(link)
	sendMessage(lastNews[link])
	if feed.entries[0].title != lastNews[link]:
		lastNews[link] = feed.entries[0].title
		pred = phrase2vec(lastNews[link])
		pred = np.reshape(pred, (1,n_vocab))
		pred = model.predict_on_batch(pred)
		if pred[0,0] == pred[0,0]:
			item = str(round(pred[0,0],2)) + ' ' + feed.entries[0].link
			print(feed.entries[0].title)
			sendMessage(item
  • Вопрос задан
  • 375 просмотров
Решения вопроса 1
@Sayonji
Потому что map вычисляет элементы лениво. Т. е. пока по нему не проитерироваться, он функцию применять не будет. Если очень хочется его использовать в этой задаче, можно, например, написать

list(map(newsParser,links))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы