gpt4 book ai didi

python - 如何创建矩阵和边之间的Python对应关系

转载 作者:行者123 更新时间:2023-12-01 04:24:28 26 4
gpt4 key购买 nike

我有一个带有边列表的图 G

G.edges()=[(1, 5), (1, 6), (2, 5), (3, 4), (3, 6), (4, 5), (4, 7), (6, 7)

我想要做的是迭代这些边并创建 2D numpy 数组 G15, G16, ... , G67 其中数组名称对应于边。

我该怎么做?

最佳答案

听起来你想做类似的事情

i, j = 1,3
$G{i}{j}=np.array(....)

打算稍后做:

G13[:,3]= ...
or
$G{i}{j}[0,1]=...

有些语言可以让您创建这样的变量名称。早期的Basic可能已经做到了这一点。但 Python 不是其中之一。以编程方式构造变量名称是一种临时方法。

相反,在 Python 中,您可以在列表和字典中收集对象,例如数组,例如

[np.array(...) for i,j in G.edges()]

{(i,j):np.array(...) for i,j in G.edges()}

{'G%i%j'%(i,j): np.array(...) for i,j in G.edges()}

有多种方法可以将这样的字典添加到本地命名空间(这也是一个字典),但这是糟糕的 Python 实践。

通过将数组收集在列表或字典中,可以轻松地迭代它们或单独引用它们。有多种方法可以将边(元组)与数组(或其他 Python 对象)关联起来,但全局变量名称不是一个好的方法(可能,但不是 Pythonic)。

关于python - 如何创建矩阵和边之间的Python对应关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33308487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com