students = {'palii':('male','170'),
'Minckach':('male','176'),
'ddl':('male','180'),
'Red1ska':('male','188'),
'Sargeras':('male','185'),
'Gerus':('female','160'),
'Liah':('male','183'),
'Chhekan':('female','182'),
'Leshega':('male','186'),
'yurii':('male','187')}我有这本字典。我如何删除所有的女性,并计算男性的平均身高?也许有什么功能什么的吗?
我试过使用filter()
newDict = dict(filter(lambda elem: elem[1] == 'male',students.items()))但这不管用。
def halfmale(stats):
sum = 0
for key in stats.values():
sum += float(key)
half = sum / len(stats)
print(half)
for value, key in stats.items():
if (key+5>half and key-5<half):
print(value)Python说在这个部分,问题是除以零。
发布于 2022-11-04 19:08:08
你想要这个吗?
如果dict.
gender =='male'.
height_lst = [int(height) for name, (gender, height) in students.items() if gender == 'male']
print(f'Average: {sum(height_lst)/len(height_lst)}') 输出:Average: 181.875
您可以更正newDict,如下所示:
>>> dict(filter(lambda elem: elem[1][0] == 'male',students.items()))
{'palii': ('male', '170'),
'Minckach': ('male', '176'),
'ddl': ('male', '180'),
'Red1ska': ('male', '188'),
'Sargeras': ('male', '185'),
'Liah': ('male', '183'),
'Leshega': ('male', '186'),
'yurii': ('male', '187')}发布于 2022-11-04 19:15:15
用dict理解来做一个只包含男性的新的dict。
newDict = {k:v for k,v in students.items() if v[0] == 'male'}https://stackoverflow.com/questions/74321858
复制相似问题