以下代码的 Pythonic 方式

标签 python

我有一个Python字典

a = {
     "Ram":(20,"Male"),
     "Shyam":(22,"Male"),
     "Shruti":(19,"Female"),
    }

我想检查字典中是否存在一个名称作为键,并根据其他名称返回年龄。所以我为它编写了以下函数

def func(val ):
   if val in a:
     return ( a[val][ 0 ], True ) # Return age and key in dict?
   return ( val, False )

我可以用更好的方式写这个吗?一个衬垫还是什么?

谢谢

最佳答案

我建议使用字典中的函数get(key, default):

def f(val):
    result = a.get(val, False)
    return (result[0], True) if result else (val, result)
  • get(key, default) 如果 key 在字典中,则返回正确的值;如果不在字典中,则返回“默认值”。

关于以下代码的 Pythonic 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21541719/

相关文章:

Python - 打印存在于 2 个文件中的字符串

python - 去除所有空格 EXCLUDING 制表符

python - 用opencv制作视频,只有一帧

python - 树莓派相机透明图像叠加

python - Pandas 在滚动时间窗口中找到最大值

python - 使用 matplotlib.pyplot.imsave 将 numpy.ndarray 保存为图像 (.png) 时出错

python - 如何在线图中放置内联标签

python - 根据条件使用 python 中另一列的值创建新列

python - 为什么自定义激活函数会导致网络既零损失又低准确率?

python - 自然排序 Pandas 中的数据框列