Skip to main content
 首页 » 编程设计

python之遍历嵌套字典

2025年05月04日22shanyou

我设置了一个嵌套字典,我正在尝试访问它,但当键设置为我的用户决定的内容时(我在下面的示例中设置为 Feb),访问“nextmo”部分时遇到问题。理想情况下它应该打印 'Mar'

D = {'Jan': {'days': 31, 'nextmo': 'Feb', 'prevmo': 'Dec'}, 
 'Feb': {'days': 29, 'nextmo': 'Mar', 'prevmo': 'Jan'}, 
 'Mar': {'days': 31, 'nextmo': 'Apr', 'prevmo': 'Feb'}, 
 'Apr': {'days': 30, 'nextmo': 'May', 'prevmo': 'Mar'},  
 'May': {'days': 31, 'nextmo': 'Jun', 'prevmo': 'Apr'}, 
 'Jun': {'days': 30, 'nextmo': 'Jul', 'prevmo': 'May'}, 
 'Jul': {'days': 31, 'nextmo': 'Aug', 'prevmo': 'Jun'}, 
 'Aug': {'days': 31, 'nextmo': 'Sep', 'prevmo': 'Jul'},  
 'Sep': {'days': 30, 'nextmo': 'Oct', 'prevmo': 'Aug'}, 
 'Oct': {'days': 31, 'nextmo': 'Nov', 'prevmo': 'Sep'}, 
 'Nov': {'days': 30, 'nextmo': 'Dec', 'prevmo': 'Nov'}, 
 'Dec': {'days': 31, 'nextmo': 'Jan', 'prevmo': 'Jan'},} 
 
bday_month_in = "Feb" 
 
for k, v in D.items(): 
    if bday_month_in is dict: 
       print(bday_month_in['nextmo']) 

请您参考如下方法:

如果您只想在 bda_month_in 之后的下一个月,那么这应该可行:

bday_month_in = 'Feb' 
D[bday_month_in]['nextmo']  # 'Mar'