从Python字典中提取多组键值对并解答相关统计问询
问题解答
1. 男演员Nandi Awards总数计算
遍历字典中actors下的所有男演员,累加他们的Nandi Awards数量:
movies = { 'actors': { 'prabhas': {'knownAs': 'Darling', 'awards': {'nandi': 1, 'cinemaa': 1, 'siima': 1}, 'remuneration': 100, 'hits': {'industry': 2, 'super': 3, 'flops': 8}, 'age': 41, 'height': 6.1, 'mStatus': 'single', 'sRate': '35%'}, 'pavan': {'knownAs': 'Power Star', 'awards': {'nandi': 2, 'cinemaa': 2, 'siima': 5}, 'hits': {'industry': 2, 'super': 7, 'flops': 16}, 'age': 48, 'height': 5.9, 'mStatus': 'married', 'sRate': '37%', 'remuneration': 50}, }, 'actress': { 'tamanna': {'knownAs': 'Milky Beauty', 'awards': {'nandi': 0, 'cinemaa': 1, 'siima': 1}, 'remuneration': 10, 'hits': {'industry': 1, 'super': 7, 'flops': 11}, 'age': 28, 'height': 5.9, 'mStatus': 'single', 'sRate': '40%'}, 'rashmika': {'knownAs': 'Butter Milky Beauty', 'awards': {'nandi': 0, 'cinemaa': 0, 'siima': 2}, 'remuneration': 12, 'hits': {'industry': 0, 'super': 4, 'flops': 2}, 'age': 36, 'height': 5.9, 'mStatus': 'single', 'sRate': '30%'}, } } total_nandi = sum(actor['awards']['nandi'] for actor in movies['actors'].values()) print(total_nandi) # 输出:3
所有男演员获得的Nandi Awards总数为3。
2. 查询被称为Prince的艺人的sRate
遍历字典中所有艺人,检查knownAs字段是否为"Prince":
def find_srate_by_known_as(alias): # 检查男演员 for name, details in movies['actors'].items(): if details['knownAs'] == alias: return details['sRate'] # 检查女演员 for name, details in movies['actress'].items(): if details['knownAs'] == alias: return details['sRate'] return None print(find_srate_by_known_as('Prince')) # 输出:None
当前字典中没有被称为"Prince"的艺人,无法查询到对应的sRate。
3. 确认被称为Prince的艺人的真实名称
遍历所有艺人匹配别称:
def find_real_name_by_known_as(alias): # 检查男演员 for name, details in movies['actors'].items(): if details['knownAs'] == alias: return name # 检查女演员 for name, details in movies['actress'].items(): if details['knownAs'] == alias: return name return None print(find_real_name_by_known_as('Prince')) # 输出:None
当前字典中不存在被称为"Prince"的艺人,没有对应的真实名称。
内容的提问来源于stack exchange,提问作者koushik yadav
相关产品推荐
相关产品推荐

