2017-04-08 213 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