2024-09-29 05:23:05 发布
网友
我有一个带边列表的图G
G.edges()=[(1, 5), (1, 6), (2, 5), (3, 4), (3, 6), (4, 5), (4, 7), (6, 7)
我要做的是遍历这些边并创建2D numpy数组G15, G16, ... , G67,其中数组名对应于这些边。你知道吗
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实践。你知道吗
使用列表或字典中收集的数组,可以很容易地遍历它们或单独引用它们。将edges(元组)与数组(或其他Python对象)关联的方法有很多种,但是全局变量名不是一个好方法(可能但不是Pythonic)。你知道吗
edges
您可以列出所需的数组名称,如下所示:
arrayNames = ["G"+str(n)+str(m) for (n, m) in G.edges()]
解决方案的其余部分取决于您希望数组采用什么形式,即您希望如何访问它们-字典、元组列表等。?你知道吗
听起来你想做些
打算以后做:
有些语言允许您创建这样的变量名。早期的Basic可能已经做到了这一点。但Python不是其中之一。以编程方式构造变量名是一种临时方法。你知道吗
相反,在Python中,您可以在列表和字典中收集对象,例如数组
有一些方法可以将这样的字典添加到本地名称空间(这也是一个字典),但这是一种差劲的Python实践。你知道吗
使用列表或字典中收集的数组,可以很容易地遍历它们或单独引用它们。将
edges
(元组)与数组(或其他Python对象)关联的方法有很多种,但是全局变量名不是一个好方法(可能但不是Pythonic)。你知道吗您可以列出所需的数组名称,如下所示:
解决方案的其余部分取决于您希望数组采用什么形式,即您希望如何访问它们-字典、元组列表等。?你知道吗
相关问题 更多 >
编程相关推荐