python - 如何根据另一个元素访问字典的子元素?

标签 python list dictionary

嘿,所以我创建了这个字典,并希望能够基于另一个元素访问其中一个元素。因此,在主字典中,我有一个字典,其中包含“名称”和“天”,并基于用户输入(他们将输入日期),我想输出名称。

{1: {"name": "Leo", "days": range(1, 61)}, 2: {"name": "Gemini", "days": range(61, 122)}, ....

所以在上面的例子中,如果用户输入25,我想输出“Leo”。我怎样才能做到这一点?最初我只想做 if 语句,但是有没有办法根据“days”子元素访问“name”子元素?

所以如果输入是25, 我希望输出为 Leo

最佳答案

一个选项是简单的 for 循环。迭代键,检查数字是否在“天”范围内,如果是,则打印“名称”(或对名称执行所需的操作)并中断(无需进一步迭代)。如果没有中断,则打印有关它的消息(或采取任何其他操作)。

for key in d:
    if 25 in d[key]['days']:
         print(d[key]['name'])
         break
else:
    print('Not found')

关于python - 如何根据另一个元素访问字典的子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59776689/

相关文章:

python - 如何使用 Python 将函数应用于列表中的元素对?

python - 根据我的列表输入重命名最后一个

Python 字典向一个键添加不同的值?

dictionary - 键声明,其值来自之前在同一映射初始化中定义的现有键

python - 将 python 字典转换为变量的最佳方法是什么?

python - 使用 Marshmallow 反序列化强制执行严格的字段。日期格式

python - 从 pandas.DataFrame 中删除所有重复项的更好策略?

python - 只读现有字段但允许在 django admin 中创建新内联时添加

mysql获取订单号

python - 如何制作具有不同索引数量和顺序的三组字典中的三列的条形图?