Python 地图的字符串表示
问题:如何以以下格式返回映射的字符串表示:{k1:v1,k2:v2,…,kN:vN}??基本上,我该如何定义“报告” 我会做什么:format={k1:v1,k2:v2,…,kN:vN} strForm=str(form) 打印(标准格式) 讲义:Python 地图的字符串表示,python,Python,问题:如何以以下格式返回映射的字符串表示:{k1:v1,k2:v2,…,kN:vN}??基本上,我该如何定义“报告” 我会做什么:format={k1:v1,k2:v2,…,kN:vN} strForm=str(form) 打印(标准格式) 讲义: 地图是一个容器,用于在地图中存储数据记录集合 每个记录都与一个唯一的键相关联。关键部件 必须具有可比性Map():创建一个新的空映射。•长度(): 返回映射中键/值对的数目。•包含(键): 返回一个布尔值,指示给定的键是否在映射中。• setite
- 地图是一个容器,用于在地图中存储数据记录集合 每个记录都与一个唯一的键相关联。关键部件 必须具有可比性Map():创建一个新的空映射。•长度(): 返回映射中键/值对的数目。•包含(键): 返回一个布尔值,指示给定的键是否在映射中。• setitem(key,value):如果键 地图上没有。如果键位于地图中,则新值将替换 与键关联的原始值。•getitem(键):返回 与给定键关联的值,该值必须存在。•清除(): 通过删除所有键/值对来清除或清空映射键(): 返回包含存储在地图中的键的列表。•值(): 返回包含存储在映射中的值的列表。•toString(): 以以下格式返回映射的字符串表示形式: {k1:v1,k2:v2,…,kN:vN}
如果你真的想为自己发明字典之类的东西,我会用下面的方法编写
\uuuu repr\uuu
方法
"{%s}" % (", ".join(["%s:%s" % (k,v) for k, v in zip(self._key, self._value)]))
如果你真的想为自己发明字典之类的东西,我会用下面的方法编写
\uuuu repr\uuu
方法
"{%s}" % (", ".join(["%s:%s" % (k,v) for k, v in zip(self._key, self._value)]))
我将覆盖
\uuuu str\uuuu
或\uuuu repr\uuuu
如下所示:
def __repr__(self):
return '{%s}' % ', '.join(['{}:{}'.format(k, v) for k, v in zip(self._key, self._value)])
我将覆盖
\uuuu str\uuuu
或\uuuu repr\uuuu
如下所示:
def __repr__(self):
return '{%s}' % ', '.join(['{}:{}'.format(k, v) for k, v in zip(self._key, self._value)])
键应该是集合,而不是列表。map最大的好处是通过键快速找到元素。你是在问如何定义
\uu repr\uuu
?教授更喜欢使用list@user3467349是的,我不知道为什么不将集合对象子类化?键应该是集合,而不是列表。map最大的好处是通过键快速找到元素。你是在问如何定义\uu repr\uuu
?教授更喜欢使用list@user3467349是的,我不知道你没有子类化collections对象的原因吗?我认为不需要这个“{%s}”%
。@Marcin它是要添加{
和}
一般来说,\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuu
方法应该能够将\uuuuuu repr\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
作为参数否?他最好对现有类进行子类化,比如collections.mutablemapping
,然后编写一个\uuuu init\uuuu
来满足他的需求。@halex我明白了。所以这很好。我可能想超越\uuuuu str\uuuuuuu
而不是\uuuuu repr\uuuuuu
,以实现\uuuuu repr\uuu
返回适合实例化实例副本的表示的准则。或者,正如用户346739所说,创建一个子类并覆盖\uuuuu init\uuuuu
以解析自定义\uuuuu repr\uuuuu
。(我很清楚这条指导原则没有得到普遍遵守)。我认为这个“{%s}”%
是不需要的。@Marcin添加{
和}
通常\uuu init\uuuuuuuuuuuuuuuuuuu
方法应该能够将\uuurepr\uuuuuuuuuu>作为参数否?他最好对现有类进行子类化,比如collections.mutablemapping
,然后编写一个\uuuu init\uuuu
来满足他的需求。@halex我明白了。所以这很好。我可能想超越\uuuuu str\uuuuuuu
而不是\uuuuu repr\uuuuuu
,以实现\uuuuu repr\uuu
返回适合实例化实例副本的表示的准则。或者,正如用户346739所说,创建一个子类并覆盖\uuuuu init\uuuuu
以解析自定义\uuuuu repr\uuuuu
。(我很清楚,该指南并未得到普遍遵守)。