尝试使用 NumPy 中的 NetworkX 在 2d numpy 数组中查找邻居
Trying to find neighbors in an 2d numpy array using NetworkX in NumPy
所以我想向用户询问坐标(即(0,0))并将它们传递给邻居。我如何有效地访问元组以传递它以获得我的结果?它不会识别它,因为它是一个字符串并带有括号。破折号后指定输入的一些错误警告:
networkx.exception.NetworkXError: 节点 ('(', '0') 不在图中。- (0,0)
networkx.exception.NetworkXError: 节点 ('0', '0') 不在图中。 - 00
networkx.exception.NetworkXError: 节点 ('0', ',') 不在图中。 - 0,0
def get_neighbors(self, coords):
return list(nx.grid_2d_graph(*self.get_face_value().shape).neighbors((coords[0], coords[1])))
def __repr__(self):
x = tuple(input('What coordinates in the array shown above would you like to use? ').strip(','))
return 'Adjacent values at the coordinates specified of side ' + str(self.get_side_chosen()) + ' are ' + \
str(self.get_neighbors(x))
你为什么不对你的输入进行消毒,这样你就只允许数字并需要两个不同的输入?要求一个人输入他们想要的任何东西是自找麻烦。
无论如何,问题在于您的格式是字符串并且您需要十进制形式。
用 int()
包裹你的坐标
所以我想向用户询问坐标(即(0,0))并将它们传递给邻居。我如何有效地访问元组以传递它以获得我的结果?它不会识别它,因为它是一个字符串并带有括号。破折号后指定输入的一些错误警告:
networkx.exception.NetworkXError: 节点 ('(', '0') 不在图中。- (0,0)
networkx.exception.NetworkXError: 节点 ('0', '0') 不在图中。 - 00
networkx.exception.NetworkXError: 节点 ('0', ',') 不在图中。 - 0,0
def get_neighbors(self, coords):
return list(nx.grid_2d_graph(*self.get_face_value().shape).neighbors((coords[0], coords[1])))
def __repr__(self):
x = tuple(input('What coordinates in the array shown above would you like to use? ').strip(','))
return 'Adjacent values at the coordinates specified of side ' + str(self.get_side_chosen()) + ' are ' + \
str(self.get_neighbors(x))
你为什么不对你的输入进行消毒,这样你就只允许数字并需要两个不同的输入?要求一个人输入他们想要的任何东西是自找麻烦。
无论如何,问题在于您的格式是字符串并且您需要十进制形式。 用 int()
包裹你的坐标