我想实现以下目标,但要使用字典。
name_selected = "Jason"
if name_selected == "John":
age = 10
gender = "Male"
elif name_selected == "Jason":
age = 20
gender = "Male"
print(age, gender)
data = {"name": ["John", "Jason"],
"age": [10, 20],
"gender": ["Male", "Male"]}
最佳答案
这是一个糟糕的数据组织。如果将名称作为字典键会更好:
data = {
"John": { "age": 10, "gender": "Male"},
"Jason": { "age": 20, "gender": "Male"}
}
age = data[name_selected]["age"]
gender = data[name_selected]["gender"]
但是如果你被你的数据结构困住了,你可以使用 index()
来获取 name
元素中的索引,然后使用它来获取相应的其他元素中的值。
try:
index = data['name'].index(name_selected)
age = data['age'][index]
gender = data['gender'][index]
except:
print(f'{name_selected} not found')
关于Python:如何过滤字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67507210/