如何实现以格式化形式打印列表中的值的str?

2024-03-28 17:41:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个自定义的类,它存储键和值的列表,我想实现__str__,这样当我打印class对象时,它将产生一个格式化的输出。你知道吗

我的课是这样的:

class List:
   def __init__(self, key, value):
       self.key = key
       self.value = value
   def __str__(self):
       #code

我不确定如何实现__str__当我打印一个对象实例时,输出是这样的:

list1 = List(['a','b','c'],[1,2,3])
print(list1)

输出:

a    1
b    2
c    3

我的方法是:

def __str__(self):
    for i in range(len(self.value)):
        yield(f"{self.value[i]:>10} {self.index[i]:>5}")

但是,我得到了类型生成器错误。我假设在这种情况下使用收益率是不合适的。如何打印?你知道吗


Tags: 对象实例方法keyself列表initvalue
1条回答
网友
1楼 · 发布于 2024-03-28 17:41:59
class List:
   def __init__(self, keys, values):
       self.keys = keys
       self.values = values

   def __str__(self):
       return '\n'.join([f"{key}\t{value}" for key, value in zip(self.keys, self.values)])

相关问题 更多 >