从Python中的另一个模块访问dict

2024-05-23 18:21:12 发布

您现在位置:Python中文网/ 问答频道 /正文

文件1.py

john = {'fullname':'John Wick', 'Age': 35 , 'job':'Hitman'}
mark = {'fullname':'Mark Zuckerberg', 'Age': 30, 'job': 'Developer'}
Will = {'fullname':'Will smith', 'Age': 45, 'job': 'Actor'}
so on... and many more names

所以我的问题是如何获取这些值,假设我想通过给出一个人的名字来知道一个人的年龄?在

文件2.py

^{pr2}$

Tags: 文件pydeveloperagejobjohnwillmark
3条回答

首先我认为你不应该这样做。@Ajax1234提供了一个更好的解决方案,但要问您的问题:

import File1

name = input('>>> Name: ')
print(getattr(File1, name)['Age'])  # 35

是吗

你可以在字典中使用get函数

print(john.get('age' , 0))

gettake两个参数首先是键,然后是默认值,如果找不到键就加载

您可以使用嵌套字典将此人的姓名传递给字典,然后通过键“age”访问年龄:

john = {'fullname':'John Wick', 'Age': 35 , 'job':'Hitman'}
mark = {'fullname':'Mark Zuckerberg', 'Age': 30, 'job': 'Developer'}
Will = {'fullname':'Will smith', 'Age': 45, 'job': 'Actor'}
new_data = {"John":john, "Mark":mark, "Will":Will}
print(new_data["John"]["Age"])

输出:

^{pr2}$

编辑:如果没有嵌套词典,可以尝试以下操作:

john = {'fullname':'John Wick', 'Age': 35 , 'job':'Hitman'}
mark = {'fullname':'Mark Zuckerberg', 'Age': 30, 'job': 'Developer'}
Will = {'fullname':'Will smith', 'Age': 45, 'job': 'Actor'}
user_input=raw_input("enter a Name: ")
final_age = [b["Age"] for a, b in globals().items() if a == user_input][0]

输出:

^{pr2}$

相关问题 更多 >