Python3, не получается сделать запись в файл
Python3. Для записи в файл, делаю массив массивом строк. Но почему то при записи в файл, к нулевому элементу добавляется "0" Что это такое?
file = open('sentences.txt', 'r')
lines = list(file)
data = []
for line in lines:
line = line.strip()
line = line.lower()
data.append(line)
file.close()
import re
for i in range(len(data)):
data[i] = re.split('[^a-z]', data[i])
for j in range(data[i].count('')):
data[i].remove('')
dictionary = {}
count = 0
for words in data:
for word in words:
if not (word in dictionary.keys()):
dictionary[word] = count
count += 1
import numpy as np
matrix = np.zeros((len(data), len(dictionary)))
for i in range(len(data)):
for j in range(len(dictionary)):
Item = ()
for item in dictionary.items():
if item[1] == j:
Item = item
break
matrix[i][j] = data[i].count(Item[0])
from scipy import spatial as sp
min1 = (0, 1)
min2 = (0, 1)
shape = matrix.shape
for i in range(1, shape[0]):
cosin = sp.distance.cosine(matrix[0], matrix[i])
if (cosin < min1[1]):
min2 = min1
min1 = [i, cosin]
elif (cosin < min2[1]):
min2 = [i, cosin]
print('Номер первой найденной строки и её косинусное расстояние:', min1)
print('Номер второй найденной строки и её косинусное расстояние:', min2)
#Номер первой найденной строки и её косинусное расстояние: [6, 0.7327387580875756]
#Номер второй найденной строки и её косинусное расстояние: [4, 0.7770887149698589]
print(min1[0])
#6
file_obj = open('out.txt', 'w')
file_obj.writelines(min1[0] + " " for min1 in map(str, min1))
file_obj.writelines(min2[0] + " " for min2 in map(str, min2))
file_obj.close()
file_obj = open('out.txt', 'r')
print(file_obj.read())
#6 0 4 0