当期望输出 10,000 个数字时,为啥 python 只输出 6 个由 '...' 分隔的数字? [复制]
Posted
技术标签:
【中文标题】当期望输出 10,000 个数字时,为啥 python 只输出 6 个由 \'...\' 分隔的数字? [复制]【英文标题】:Why is python only outputting 6 numbers seperated by '...', when the expectation is output of 10,000 numbers? [duplicate]当期望输出 10,000 个数字时,为什么 python 只输出 6 个由 '...' 分隔的数字? [复制] 【发布时间】:2018-07-26 16:34:31 【问题描述】:完整的问题:生成一个包含 10,000 个随机数(称为 x)的 NumPy 数组,并创建一个变量来存储方程 y=5x^2−3x+15
import numpy as np
data = np.random.randint(1000, size=10000)
x = tf.constant(data, name='x')
y = tf.Variable(5 * (x**2) - (3 * x) + 15)
model = tf.global_variables_initializer()
with tf.Session() as session:
session.run(model)
print(session.run(y))
输出为 [4528679 4547733 119675 ... 2215797 1247 1703543]。 不包括数组中完整的 10,000 个随机数的原因是什么? '...' 是什么意思?
【问题讨论】:
【参考方案1】:这只是 numpy 总结你的数组,所以你不会在终端上打印 1000 个数字。您可以通过使用np.set_printoptions
的threshold
参数来控制启动的阈值:
threshold : int, optional
Total number of array elements which trigger summarization
rather than full repr (default 1000).
演示:
>>> import numpy as np
>>> a = np.arange(100)
>>> np.set_printoptions(threshold=5)
>>> print(a)
[ 0 1 2 ... 97 98 99]
>>> np.set_printoptions(threshold=500)
>>> print(a)
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
96 97 98 99]
【讨论】:
以上是关于当期望输出 10,000 个数字时,为啥 python 只输出 6 个由 '...' 分隔的数字? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
当给出非变量时,为啥空期望 T_PAAMAYIM_NEKUDOTAYIM ?