Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDILab开源决策智能平台
treevalue
提交
17cdc03f
T
treevalue
项目概览
OpenDILab开源决策智能平台
/
treevalue
大约 1 年 前同步成功
通知
3
Star
213
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
treevalue
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
17cdc03f
编写于
6月 26, 2022
作者:
HansBug
😆
提交者:
GitHub
6月 26, 2022
1
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #49 from opendilab/dev/mutablemapping
dev(hansbug): fix get and pop method
上级
62d2311a
964edeab
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
16 addition
and
22 deletion
+16
-22
test/tree/tree/test_tree.py
test/tree/tree/test_tree.py
+1
-2
treevalue/tree/tree/tree.pyx
treevalue/tree/tree/tree.pyx
+15
-20
未找到文件。
test/tree/tree/test_tree.py
浏览文件 @
17cdc03f
...
...
@@ -287,8 +287,7 @@ class TestTreeTreeTree:
assert
tv1
.
get
(
'b'
)
==
2
assert
tv1
.
get
(
'c'
)
==
TreeValue
({
'x'
:
2
,
'y'
:
3
})
assert
tv1
.
get
(
'd'
)
==
{
'x'
:
2
,
'y'
:
3
}
with
pytest
.
raises
(
KeyError
):
_
=
tv1
.
get
(
'e'
)
assert
tv1
.
get
(
'e'
)
is
None
assert
tv1
.
get
(
'e'
,
233
)
==
233
tv1
=
TreeValue
({
'a'
:
1
,
'b'
:
2
,
'c'
:
{
'x'
:
2
,
'y'
:
3
},
'd'
:
raw
({
'x'
:
2
,
'y'
:
3
})})
...
...
treevalue/tree/tree/tree.pyx
浏览文件 @
17cdc03f
...
...
@@ -102,26 +102,20 @@ cdef class TreeValue:
return
obj
@
cython
.
binding
(
True
)
cpdef
get
(
self
,
str
key
,
object
default
=
_GET_NO_DEFAULT
):
cpdef
get
(
self
,
str
key
,
object
default
=
None
):
r
"""
Overview:
Get item from the tree node.
Arguments:
- key (:obj:`str`): Item's name.
- default (:obj:`default`): Default value when this item is not found, default is \
`_GET_NO_DEFAULT` which means just raise `KeyError` when not found.
:param key: Item's name.
:param default: Default value when this item is not found, default is ``None``.
:return: Item's value.
Returns:
- value: Item's value.
.. note::
The method :meth:`get` will never raise ``KeyError``, like the behaviour in \
`dict.get <https://docs.python.org/3/library/stdtypes.html#dict.get>`_.
"""
cdef
object
value
if
default
is
_GET_NO_DEFAULT
:
value
=
self
.
_st
.
get
(
key
)
else
:
value
=
self
.
_st
.
get_or_default
(
key
,
default
)
return
self
.
_unraw
(
value
)
return
self
.
_unraw
(
self
.
_st
.
get_or_default
(
key
,
default
))
@
cython
.
binding
(
True
)
cpdef
pop
(
self
,
str
key
,
object
default
=
_GET_NO_DEFAULT
):
...
...
@@ -129,13 +123,14 @@ cdef class TreeValue:
Overview:
Pop item from the tree node.
Arguments:
- key (:obj:`str`): Item's name.
- default (:obj:`default`): Default value when this item is not found, default is
\
`_GET_NO_DEFAULT` which means just raise `KeyError` when not found
.
:param key: Item's name.
:param default: Default value when this item is not found, default is ``_GET_NO_DEFAULT`` which means
\
just raise ``KeyError`` when not found.
:return: Item's value
.
Returns:
- value: Item's value.
.. note::
The method :meth:`pop` will raise ``KeyError`` when ``key`` is not found, like the behaviour in
\
`dict.pop <https://docs.python.org/3/library/stdtypes.html#dict.pop>`_.
"""
cdef
object
value
if
default
is
_GET_NO_DEFAULT
:
...
...
HansBug
😆
@HansBug
mentioned in commit
3faa5c06
·
7月 14, 2022
mentioned in commit
3faa5c06
mentioned in commit 3faa5c0676fb6d5164fa49618328265177ce4772
开关提交列表
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录