您是否需要深入地转换“任何python对象”?所以这个是给你的。= ]

pyrecursive的Python项目详细描述


https://travis-ci.org/filwaitman/pyrecursive.svg?branch=master

耐热草书

你是否曾经需要对whatever python object进行深度转换?所以这个是给你的。=]

这个库在Python2和Python3上运行(精确地说,是在2.7和3.5上测试的)。

安装:

pip install pyrecursive

用法:

frompyrecursiveimportpyrecursivedefdouble(obj):returnx*2pyrecursive(42,double)# result: 84pyrecursive([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 by setting 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 value in depth by setting 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 by setting custom_rules variable.pyrecursive([1,2,3,'banana'],double,custom_rules={int:lambdax:x*5})# result: [5, 10, 15, 'bananabanana'] (multiplied by 5 when int, multiplied by 2 otherwise)

贡献

你觉得有什么有趣的功能,还是你发现了一个bug?请告诉我!

当然,您也可以下载项目并发送一些pull requests。请记住:(1)我们遵循PEP8;(2)我们的行长度是120个字符;(3)您的更改必须与Python2.7和Python3.5兼容。

您可以通过opening issues发送建议。

你也可以直接联系我。在http://filwaitman.github.io/查看我的联系信息(电子邮件比手机更受欢迎)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在ArrayList中比较数字   java在Kotlin中使异步调用同步   让“Scala编程”junit示例在IntelliJ中工作的java问题   java Servlet侦听器未在ContextListener中设置属性   将Microsoft SQL Server数据库连接到我的Java项目   加载资源时出现java“需要注册工厂”异常   java如何使用POI检查excel中的重复记录?   java如何更改机器生成的代码   java如何确保重写的方法是同步的   用Spring编写Hibernate时的java XML奥秘   java管理mysql数据库中存储的用户权限   java如何运行。来自Javascript的jar方法   java我想在Web应用程序中进行身份验证&对桌面应用程序使用相同的凭据。我该怎么做?