Python ndarray 什么是返回值



我使用不同的库,我希望得到一个类似于此函数输出的结果。这是恩达吗? https://graph-tool.skewed.de/static/doc/stats.html#graph_tool.stats.vertex_hist

>>> a=gt.vertex_hist(g, "out")
>>> print(gt.vertex_hist(g, "out"))
[
array([  5.,  32.,  85., 148., 152., 182., 160., 116.,  53.,  25.,  23.,  13.,   3.,   2.,   1.]),
array([  0,     1,    2,    3,    4,    5,    6,    7,    8,    9,   10,   11,   12,   13,   14,   15],
dtype=uint64)
]

以下函数来自 matplotlib.pyplot,返回两个不同变量中的计数和箱:

counts, bins, bars = plt.hist(list(nx.dict(degree(G)).values()),histtype='stepfilled')
//output
[0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0]
[3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5]

我如何在一个对象/变量中组合两个列表,或者我是否可以理解以下表达式具有哪些值:

for i in range(0,len(a[0])):
v = a[1][i]
c = a[0][i]

对于您的第一个问题,gt.vertex_hist(g, "out")返回一个包含 2 个元素的list,每个元素都是一个ndarray。 文档中也提到了相同的内容。

现在下面的表达方式,我不确定目的:

for i in range(0,len(a[0])):
v = a[1][i]
c = a[0][i]

假设两个 ndarrys 始终具有相同的大小,这只是迭代第一个 ndarray 的长度。它将第一个 ndarray 的当前索引值(即[ 5., 32., 85., 148., 152., 182., 160., 116., 53., 25., 23., 13., 3., 2., 1.]分配给c,将第二个 ndarray 的当前索引值分配给v。但是每次它都会覆盖它,所以vc将只保存最后一个元素,即分别是 1 和 15。我认为他们应该附加它。

最新更新