gpt4 book ai didi

python - 使用临时变量与从字典中重复读取相同的键/值

转载 作者:行者123 更新时间:2023-12-01 09:11:10 24 4
gpt4 key购买 nike

背景:我需要从字典中(准确地)读取相同的键/值两次。

问题:有两种方式,如下图,

方法一、用同一个key读取两次,例如

sample_map = {'A':1,}
...
if sample_map.get('A', None) is not None:
print("A's value in map is {}".format(sample_map.get('A')))

方法2.读取一次并将其存储在局部变量中,例如,

sample_map = {'A':1,}
...
ret_val = sample.get('A', None)
if ret_val is not None:
print("A's value in map is {}".format(ret_val))

哪种方式更好?他们的优点和缺点是什么?

请注意,我知道 print() 可以自然地处理 Noneret_val 。这是一个假设的示例,我仅将其用于说明目的。

最佳答案

在这种情况下,我都不会使用。您真正感兴趣的是 A 是否是有效 key ,并且 __getitem__ 引发的 KeyError (或缺少)会告诉您不管是与否。

try:
print("A's value in map is {}".format(sample['A'])
except KeyError:
pass

当然,有些人会说 try block 中的代码太多,在这种情况下,方法 2 会更好。

try:
ret_val = sample['A']
except KeyError:
pass
else:
print("A's value in map is {}".format(ret_val))

或您已有的代码:

ret_val = sample.get('A')  # None is the default value for the second argument
if ret_val is not None:
print("A's value in map is {}".format(ret_val))

关于python - 使用临时变量与从字典中重复读取相同的键/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51639411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com