微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python Deep Destruction like JavaScript 和 assingment to new Object

如何解决Python Deep Destruction like JavaScript 和 assingment to new Object

let newJson = {};

({
    "foo": {
        "name": newJson.FirstName,"height": newJson.RealHeight
    }
} =

{
    "foo": {
        "name": "Felipe","height": "55"
    }
});
console.log({newJson})

正如我们所知,上面的代码将在 JS 中返回以下输出

{newJson :{FirstName: "Felipe",RealHeight: "55"}}

我想知道在 PYTHON 中是否有一个 Lib 或一种方法

解决方法

在 Python 中搜索“解构赋值”会产生结果。

您可以使用 PEP 448 中定义的原生“元组解包”:

json_data = {
    "foo": {
        "name": "Felipe","height": "55"
    }
}

first_name,real_height = json_data["foo"]["name"],json_data["foo"]["height"]

print(first_name,real_height)
# Felipe 55

或者您可以使用基于 Python Data Model 的更接近的东西(灵感来自 this answer):

from operator import itemgetter

json_data = {
    "foo": {
        "name": "Felipe",real_height = itemgetter("name","height")(json_data["foo"])

print(first_name,real_height)
# Felipe 55

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。