我是python新手,我想创建一个2D数组并在以后打印它。你知道吗
self.values = [[0 for k in range(8)] for i in range(8)]
我已经覆盖了__str__(self)
方法:
def __str__(self):
s = (x.__str__() + "\n" for x in self.values).__str__()
return s
def __repr__(self):
return self.__str__()
问题是关于行,我在哪里创建变量s
我试过一些方法:
s = (x.__str__() + "\n" for x in self.values).__str__()
s = str((x + "\n" for x in self.values))
s = list((x.__str__() + "\n" for x in self.values))
在每一种情况下,我都明白为什么它不起作用,但我找不到一种方法如何能起作用。你知道吗
我很高兴如果有人能展示一种方法,使用发电机来创建字符串。你知道吗
大家好, 芬兰语
您将获得一个生成器,它将创建一个看起来有点像
["1\n", "2\n"]
的列表。你可能想加入这个名单:由于
join
允许您指定连接字符串,因此也可以从生成器中省去+ "\n"
并执行以下操作:另见https://docs.python.org/3.7/library/stdtypes.html?highlight=join#str.join
相关问题 更多 >
编程相关推荐