작성
·
132
·
수정됨
0
in_str = "../source/22-1.txt"
with open(in_str, 'r') as file:
txt = file.read()
txt = txt.replace(","," ")
txt_list = txt.split()
print(txt_list)
print(len(txt_list))
영상속에서는 split()을 기본값으로 설정을 안하고
split(" ") 으로 해서 which\npermits 을 한단어로 인식해 정답이 72로 나오는데 기본값으로 하면 73으로 나옵니다
저거는 왜 인식이 안되서 72가 정답이되는거죠?
정규표현식으로 했을때도
저 단어만 인식을 못하고있습니다
답변 2
0
저는 \n, 컴마, 빈칸 으로 나눴고 \n 으로 나눈 경우 대부분 한 칸이 띄어져 있어서 단어의 리스트에 ""이 요소로 잡힙니다. 그래서 그냥 단어 리스트에서 ""를 제거하고 나니 73이 나오네요.
import re
# 방법 1: regular expression 사용
def how_many_words_in_a_text_file(path: str) -> (str, int):
with open(path, "r", encoding="utf-8") as f:
text = f.read()
words = re.split(" |,|\n", text)
words = [word for word in words if word != ""]
return (words, len(words))
print(how_many_words_in_a_text_file("../source/22-1.txt"))
---
결과값
(['The', 'adjective', '"deep"', 'in', 'deep', 'learning', 'refers', 'to', 'the', 'use', 'of', 'multiple', 'layers', 'in', 'the', 'network.', 'Early', 'work', 'showed', 'that', 'a', 'linear', 'perceptron', 'cannot', 'be', 'a', 'universal', 'classifier', 'but', 'that', 'a', 'network', 'with', 'a', 'nonpolynomial', 'activation', 'function', 'with', 'one', 'hidden', 'layer', 'of', 'unbounded', 'width', 'can.', 'Deep', 'learning', 'is', 'a', 'modern', 'variation', 'which', 'is', 'concerned', 'with', 'an', 'unbounded', 'number', 'of', 'layers', 'of', 'bounded', 'size', 'which', 'permits', 'practical', 'application', 'and', 'optimized', 'implementation', 'while', 'retaining', 'theoretical'], 73)
# 방법2 : 정규표현식 없이 replace와 split으로
def number_of_words_in_the_text(path: str) -> (str, int):
with open(path, 'r', encoding="utf-8") as f:
text = f.read()
text = text.replace(",", " ").replace("\n", " ")
words = text.split(" ")
words = [word for word in words if word != ""]
return (words, len(words))
print(number_of_words_in_the_text("../source/22-1.txt"))
---
결과값
(['The', 'adjective', '"deep"', 'in', 'deep', 'learning', 'refers', 'to', 'the', 'use', 'of', 'multiple', 'layers', 'in', 'the', 'network.', 'Early', 'work', 'showed', 'that', 'a', 'linear', 'perceptron', 'cannot', 'be', 'a', 'universal', 'classifier', 'but', 'that', 'a', 'network', 'with', 'a', 'nonpolynomial', 'activation', 'function', 'with', 'one', 'hidden', 'layer', 'of', 'unbounded', 'width', 'can.', 'Deep', 'learning', 'is', 'a', 'modern', 'variation', 'which', 'is', 'concerned', 'with', 'an', 'unbounded', 'number', 'of', 'layers', 'of', 'bounded', 'size', 'which', 'permits', 'practical', 'application', 'and', 'optimized', 'implementation', 'while', 'retaining', 'theoretical'], 73)
0