我将加权图表示为字典,其中键表示顶点,以下列表表示顶点上的边(边的第一个数字权重和相邻顶点的第二个数字):
wGraph = { 1 : [[2, 2],[3, 4],[3, 3]],
3 : [[3, 2],[5, 4],[7, 5]],
2 : [[2, 1],[4, 4],[3, 6]],
4 : [[3, 1],[4, 2],[1, 6],[5, 3]],
6 : [[3, 2],[1, 4],[8, 5]],
5 : [[7, 3],[8, 6],[9, 7]],
7 : [9, 5]}
我想从字典中保存一个不带值的随机键到一个名为visited的列表中。在
^{pr2}$我怎样才能根据随机数从字典里得到钥匙?在
要从某些值中随机选择,请使用
random.choice
。你想从字典的键中选择,所以这正是你输入的:答案取决于你有多少个键,它们总是数字1…max,你想重新访问你以前访问过的键吗,图节点是随时间增加还是保持不变,你最终会访问所有键还是只访问其中的一小部分,等等。在
一个想法:如果您的键总是按顺序编号的,那么您可以使用
random_num + 1
。你已经知道它们是dict的关键,你不必构造任何特殊的东西。在另一个选择是将密钥列表随机化一次:
只要你需要一个新的就继续调用.pop()。只有当您不想重新访问节点并且节点列表是常量时,这才有效。在
相关问题 更多 >
编程相关推荐