2017-04-08 212 views
0

我试图从Python字典模式匹配的元素,像下面这样:模式匹配字典3

person = {"name": "Steve", "age": 5, "gender": "male"} 
{"name": name, "age": age} = person # This line right here 
drives = is_driving_age(age) 

print f"{name} is {age} years old. He {'can' if drives else 'can\'t'} drive." 

# Output: Steve is 5 years old. He can't drive. 

有没有办法做这样的事情在Python 3?我有一个函数返回一个相当大的字典,而不是花20行解构它,我真的很希望能够模式匹配数据。

编辑:这里的第一个答案假设我只是试图打印出数据,可能缺乏清晰度。请注意,我不只是试图打印出数据,我正在尝试将其用于进一步的计算。

+2

您可以将字典传递给str.format或str.format_map的方法。 – wwii

回答

2
person = {"name": "Steve", "age": 5, "gender": "male"} 

my_str = "{name} is {age} years old.".format(**person) 

print(my_str) 

史蒂夫5岁。

+1

或'''format_map(person)'''(版本3.2+)。 – wwii