gpt4 book ai didi

Python:如何正确打印字典中的对象键?

转载 作者:太空宇宙 更新时间:2023-11-03 13:48:36 25 4
gpt4 key购买 nike

假设我有一个 Graph 类和一个 Vertex 类,定义如下

图形.py

class Graph:

def __init__(self):
self.adjacencyList = {}

def __str__(self):
return str(self.adjacencyList)

def addVetex(self,key,value):
if Vertex(key,value) not in self.adjacencyList:
self.adjacencyList[Vertex(key,value)] = []

顶点.py

class Vertex:
def __init__(self,key,value):
self.key = key
self.value = value

def __str__(self):
return "Key: ",str(self.key)," Value: ",str(self,value)

def __hash__(self):
return self.key

如果我这样做:

G = Graph()
G.addVetex(1,None)
G.addVetex(2,None)
G.addVetex(1,3)
print G

它打印出{<Vertex.Vertex instance at 0x110295b90>: [], <Vertex.Vertex instance at 0x110295bd8>: []}但我期待类似 {"Key:1 Value:None":[]...} 的东西

我的问题是我做错了什么?当字典打印出来时,为什么它不尝试调用其键/值的 str 函数?

谢谢。

最佳答案

我相信您想要使用当前代码实现的方法是 Vertex.__repr__,这是 python 字典用来获取键的字符串表示形式的方法。

这是一个 related stackoverflow答案揭示了 __repr____str__

之间的区别

关于Python:如何正确打印字典中的对象键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14277894/

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