dict.setdefault('Name','').str('Name 1')
我想直接在 for 循环中将"Name"附加到字典中,如果名称不可用,我希望它是一个空字符串。我们可以使用 setdefault 来获得这个吗?
当我使用上面的代码时,我得到的错误是 -
AttributeError: 'str' object has no attribute 'str'
你不能做你想做的事情,因为str
是不可变的,你将始终需要构造一个新字符串并将其赋回键。您可以使用list
s 执行此操作,因为list
是可变的,即您可以更改字典中的列表。
对于str
,只需使用dict.get()
.如果存在,这会将值附加到字典中的现有值上,如果不存在,则会附加到空字符串上,例如:
d['Name'] = d.get('Name', '') + 'Name 1'
或者,使用collection.defaultdict
,例如:
d = defaultdict(str)
d['Name'] += 'Name 1'
注意:不要使用dict
作为变量名称,它会隐藏 pythondict
类型。
我想直接在 for 循环中将"Name"附加到字典中,并且 如果名称不可用,我希望它是一个空字符串
这可以通过设置默认值来完成:
dict.setdefault('Name', '')
注意:dict
对于变量来说是一个非常糟糕的名称:它隐藏了内置类型dict
。