你是否曾经需要深入转换一个`任何Python对象`?那么这个就是为你准备的。=]
项目描述
pyrecursive
你是否曾经需要深入转换一个任何Python对象
?那么这个就是为你准备的。=]
安装
pip install pyrecursive
使用
from pyrecursive import pyrecursive
def double(obj):
return x * 2
pyrecursive(42, double)
# result: 84
pyrecursive([1, 2, 3, [4, 5, [6], 7], 8, 9, 'x'], double)
# result: [2, 4, 6, [8, 10, [12], 14], 16, 18, 'xx']
pyrecursive({'hamster': [1, 2, 3, {'test': 42}]}, double)
# result: {'hamster': [2, 4, 6, {'test': 84}]}
# In order to transform dict keys in depth: set transform_dict_keys variable to True (default: False).
pyrecursive({'hamster': [1, 2, 3, {'test': 42}]}, double, transform_dict_keys=True)
# result: {'hamsterhamster': [2, 4, 6, {'testtest': 84}]}
# In order not to transform dict values in depth: set transform_dict_values variable to False (default: True).
pyrecursive({'hamster': [1, 2, 3, {'test': 42}]}, double, transform_dict_values=False)
# result: {'hamster': [2, 4, 6, {'test': 42}]}
# In order to define custom rules for each object type in depth: set custom_rules variable.
pyrecursive([1, 2, 3, 'banana'], double, custom_rules={int: lambda x: x * 5})
# result: [5, 10, 15, 'bananabanana'] (multiplied by 5 when int, multiplied by 2 otherwise)
贡献
你是否想到了一些有趣的功能,或者你发现了一个错误?请让我知道!
当然,你也可以下载项目并给我一些拉取请求。请注意,(1) 我们遵循pep8,(2) 我们的行长度为120个字符,(3) 你的更改必须与Python 2.7和Python 3.6+兼容。
你可以通过打开问题来发送你的建议。
你也可以直接联系我。查看我的联系信息http://filwaitman.github.io/(首选电子邮件而不是手机)。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。
源代码分发
pyrecursive-0.0.2.tar.gz (4.2 kB 查看哈希值)
构建分发
pyrecursive-0.0.2-py3-none-any.whl (3.6 kB 查看哈希)