鱼C论坛

 找回密码
 立即注册
查看: 1449|回复: 2

[已解决]如何才能解包提前到字典中的value

[复制链接]
发表于 2023-5-20 19:31:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def func5(a, b, c):
    print(a)
    print(b)
    print(c)
>>> d1 = dict(name='Bryce', height = 3)
>>> print(d1)
{'name': 'Bryce', 'height': 3}
>>> func5(1, *d1) ## 解包提取的是字典的 key
1
Name
Height
最佳答案
2023-5-20 19:37:01
要解包字典中的 value,需要使用 dict.values() 方法。例如,在 func5 中将字典 d1 解包,并仅传递其值:

def func5(a, b, c):
    print(a)
    print(b)
    print(c)

d1 = dict(name='Bryce', height=3)
print(d1)
func5(1, *d1.values())
输出:

{'name': 'Bryce', 'height': 3}
1
Bryce
3
在这个例子中,我们使用 `d1.values()` 函数来提取字典的值(即 `['Bryce', 3]`),并将它们作为可变参数传递给 `func5` 函数。因此,当`func5`执行时, `'Bryce'` 被传递给了 `b`,而 `3` 被传递给了 `c`。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-20 19:31:30 | 显示全部楼层
要解包提前到字典中的value,需要使用字典的values()方法。具体实现如下:

def func5(a, b, c):
    print(a)
    print(b)
    print(c)

d1 = dict(name='Bryce', height=3)
print(d1.values())  # 输出字典的value值

func5(1, *d1.values())  # 解包提取字典的value值

输出结果为:
dict_values(['Bryce', 3])
1
Bryce
3

这样就能够将字典中的value值解包到函数中作为参数进行调用了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-20 19:37:01 | 显示全部楼层    本楼为最佳答案   
要解包字典中的 value,需要使用 dict.values() 方法。例如,在 func5 中将字典 d1 解包,并仅传递其值:

def func5(a, b, c):
    print(a)
    print(b)
    print(c)

d1 = dict(name='Bryce', height=3)
print(d1)
func5(1, *d1.values())
输出:

{'name': 'Bryce', 'height': 3}
1
Bryce
3
在这个例子中,我们使用 `d1.values()` 函数来提取字典的值(即 `['Bryce', 3]`),并将它们作为可变参数传递给 `func5` 函数。因此,当`func5`执行时, `'Bryce'` 被传递给了 `b`,而 `3` 被传递给了 `c`。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 03:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表