Python 一行中的多个字典操作
我有一个帮助函数来初始化字典。然后我需要向字典中添加其他项。有没有办法把它合并成一行?下面是一个测试类来说明我试图实现的目标:Python 一行中的多个字典操作,python,dictionary,Python,Dictionary,我有一个帮助函数来初始化字典。然后我需要向字典中添加其他项。有没有办法把它合并成一行?下面是一个测试类来说明我试图实现的目标: class Test: def get_dict(self): dict = self.initialize_dict() dict.update( { 'new_item' : 'Hello' } ) return dict def initialize_dict(self): retu
class Test:
def get_dict(self):
dict = self.initialize_dict()
dict.update( { 'new_item' : 'Hello' } )
return dict
def initialize_dict(self):
return { 'blah' : 10 }
test = Test()
print(test.get_dict())
如果我将.update()添加到self.initialize\u dict()的末尾,字典将返回None。知道为什么在我将操作串在一起时没有返回任何值吗?还有其他字典操作我可以使用吗?只是想让这段代码不那么冗长
def get_dict(self):
return self.initialize_dict().update( { 'new_item' : 'Hello' }
有没有办法巩固它?是的:
dict({'blah': 10}, new_item='Hello')
但是,您可以通过这种方式创建的词典有一些限制,通常情况下,我认为两行更好。为什么您觉得需要将其合并为一行?您认为这会给您带来什么好处?关于
None
结果,这是因为update
方法不返回任何内容,请尝试以下方法:d1={};print d1.update()
@Christian谢谢,这很有意义。@BrenBarn只是想看看是否有办法初始化字典并立即添加一个新项,因为这似乎是可能的。在看到米吉尔森的答案后,我同意它可能更适合作为两行。谢谢。在看到你的答案后,我同意用两行可能更好。