python中,如何从dict中解构。类似js中的解构赋值?

求问,python中 如何从dict里有顺序的拆包?
例如

    python:
    user = {'name': 'jack', sex: 'male', 'age': 20}
    sex, age = user
    // male 20

其实想问 python有没有类似js中的解构赋值?

    js:
    const user = {'name': 'jack', sex: 'male', 'age': 20}
    const { sex, age } = user
    // male 20
阅读 16.1k
3 个回答

在py中对字典进行拆包,只会将字典里每一项的key值赋值给拆包对象,value值是不会被赋值的

>>> user = {'name': 'jack', 'sex': 'male', 'age': 20}
>>> k,*v=user
>>> k
'name'
>>> v
['sex', 'age']
>>> sex,age = user['sex'],user['age']
>>> sex
'male'
>>> age
20

image.png
贴这段Python执行代码并不是回答这个问题,只是觉得和这个问题有关,也许能帮助理解js语法如此高自由度的语法糖本质是做了什么。

可以这样:

user = {'name': 'jack', 'sex': 'male', 'age': 20}
_, sex, age = user.values()

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题