基本上,这在Matlab中有效,因为空格用于分隔序列中的项,并且Matlab将允许您使用换行符而不是空格.换句话说,您可以x = [1 2 3]
在python中,使用逗号代替.换句话说,您需要做x = [1,2,3].
如果您打开了花括号/括号等,Python将让您在表达式中包含换行符.例如,您可以执行以下操作:
In [1]: x = [1,
...: 2,
...: 3,
...: 4]
In [2]: x
Out[2]: [1, 2, 3, 4]
…但是您仍然需要逗号才能使其成为有效的语法.
如果要使用换行符作为序列的分隔符(大概已复制到剪贴板),则需要在换行符上显式拆分字符串.
要开始多行字符串,请使用三引号. (“““ 要么 ”’)
例如:(我输入了x =“”“,然后点击粘贴(例如,< ctrl> -v /< shift>–< ins> /任何东西))
In [1]: x = """4
...: 1
...: 5
...: 2
...: 15
...: 1"""
In [2]: x
Out[2]: '4
1
5
2
15
1'
In [3]: x.split()
Out[3]: ['4', '1', '5', '2', '15', '1']
In [4]: import numpy as np
In [5]: np.array(x.split(), dtype=float)
Out[5]: array([ 4., 1., 5., 2., 15., 1.])
此外,正如@HYRY所述,如果您使用的是ipython,它将执行以下操作:
In [1]: x = """4
...: 1
...: 5
...: 2
...: 15
...: 1"""
In [2]: x = x.split()
只是:
In [1]: %paste x
更好的是,如果您要从串行端口读取数据,只需将其直接读取到python中即可.看看pyserial:http://pyserial.sourceforge.net/