获取numpy数组的换行符分隔字符串表示形式的最简洁方法是什么?

时间:2014-11-25 11:04:40

标签: python

我需要将stdin作为浮动列表传递给进程,这是从Python完成的。

arr = np.array(range(1,11))
# TODO: how to convert from arr to '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n'
proc = subprocess.Popen(["./myproc"],stdin=StringIO('1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n'),stdout=subprocess.PIPE)

转换的最简单方法是什么:

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

'1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n'

1 个答案:

答案 0 :(得分:2)

a = np.array(range(1,11))
print "\n".join(str(n) for n in a)

print "\n".join(map(str,a))

注意:

  1. 在Python中,join方法在字符串上定义,并采用包含字符串的迭代
  2. "\n".join(a)给出了一个TypeError,因为包含int而不是字符串
  3. 您可以print astr(a),但格式不包含换行符