Я просто добавляю небольшие детали:
new FileWriter("outfilename", true)
2.nd (true) - это функция (или, интерфейс), называемая appendable ( http://docs.oracle.com/ JavaSE / 7 / документы / API / Java / языки / Appendable.html [/ д0]). Он отвечает за возможность добавления некоторого контента в конец конкретного файла / потока. Этот интерфейс реализован с Java 1.5. Каждый объект (например, BufferedWriter, CharArrayWriter, CharBuffer, FileWriter, FilterWriter, LogStream, OutputStreamWriter, PipedWriter, PrintStream, PrintWriter, StringBuffer, StringBuilder, StringWriter, Writer) с этим интерфейсом может использоваться для добавления контента В других слова, вы можете добавить некоторый контент в свой gzip-файл или какой-то http-процесс
Я предполагаю, что у вас есть numpy.ndarray
? Вы можете сгладить любой массив в 1D, выполнив array.ravel()
. Кроме того, вы можете преобразовать массив в любую желаемую форму (совместимую с количеством элементов в массиве), используя array.reshape
. array.reshape(-1)
совпадает с array.ravel()
. См. здесь для получения дополнительной информации о преобразовании массивов. Наконец, вы также можете получить array_1d = array_2d[0]
, но я не нахожу это ясным в коде, потому что читателю кажется, что вы просто выбираете первую строку 2D-массива. Выполнение array_1d = array_2d.ravel()
дает понять, что вы сохраняете все элементы, просто выравнивая массив.
Попробуйте это:
import numpy as np
my_matrix = [[-0.00111287, -0.97692661, -0.9939433, -0.99474857]]
result = list(np.array(my_matrix).reshape(-1))
print(result)
# [-0.00111287, -0.97692661, -0.9939433, -0.99474857]
Если вы не работаете с пустым массивом, itertools предоставляет функцию под названием chain (), которую можно использовать для выравнивания списка:
from itertools import chain
array = list(chain(*matrix))