0
我嘗試創建類,它將返回值漂亮打印。 我發現這個職位python __str__ for an object 但我仍然不明白我怎麼能提高我的班級。返回鍵和值字典從列表使用__str__
這裏是我的類:
class PrintList():
def __init__(self,lista):
self.lista=lista
def __str__(self):
if isinstance(x[0] in self.lista, dict): #for dicts in list
return ','.join(str(item),'->',str(item[x]) for x in item) for item in self.lista
else: # for variables in list
return ','.join(str(x) for x in self.lista)
和bug在第一回:
return ','.join(str(item),'->',str(item[x]) for x in item) for item in self.lista
^
SyntaxError: invalid syntax
我試圖得到以下結果: key_dict-> value_dict等
我會使用列表理解而不是生成器表達式; 'str.join()'*更快*。參見[list comprehension without \ [\],Python](http://stackoverflow.com/a/9061024) – 2014-09-26 08:54:16
@MartijnPieters:我知道。我只是使用與OP相同的格式,而沒有引入新的概念或脫離主題。如果你看到,OP已經使用了一個生成器表達式,並且我認爲將它轉換爲列表並不合適。 – Abhijit 2014-09-26 08:57:25
*聳肩*。我會添加一個額外的段落,解釋列表符合在這裏是更好的選擇,並鏈接到雷蒙德的答案,就是這樣。 :-) – 2014-09-26 08:59:29