我对Python和整个编程都很陌生,所以请耐心等待。在
我有一个字典,其中['Male', 'Female', 'Eunuch']
作为值,这些值的不同名称作为键:
Persons = { 'Hodor' : 'Male', 'Tyrion': 'Male', 'Theon': 'Male', 'Arya': 'Female', 'Daenerys': 'Female', 'Sansa': 'Female', 'Varys': 'Eunuch}
我想把它们分成{ Gender: {Names: Counts}}
因此:
输入:
lst = ['Hodor', 'Hodor', 'Tyrion', 'Tyrion', 'Tyrion', 'Arya', 'Daenerys', 'Daenerys', 'Varys']
输出:
{'Male': {'Hodor': 2, 'Tyrion': 3, Theon: 0}, 'Female': {'Arya': 1, 'Daenerys': 2, 'Sansa': 0}, 'Eunuch': {'Varys': 1}}
我做的第一件事就是做一个计数代码:
counts = {}
for key in Persons:
counts[key] = 0
for key in lst:
counts[key] += 1
我的字典D现在包含了计数,但是我怎么把它们一起计算呢?在
Names = Persons.keys()
Gender = Persons.values()
Counts = counts.values()
Names = counts.keys()
如果没有提到瓦里斯的性别'太监'不应该出现在输出。 我试过不同的方法,但是当我试着把它们联系起来的时候。我尝试用值切换键,但结果只有一个名称出现。在
希望它能理解我想做的事情:)
编辑:如果Sansa没有提到,而其他女性是她的值应该是0。我希望能够操纵数字。说说霍多尔和所有男性的比例。在
考虑
要计算百分比,让我们添加一个helper函数:
^{pr2}$然后呢
下面是如何使用helper函数更有效地编写此理解:
然后呢
排除总和为零的子曲面的步骤
相关问题 更多 >
编程相关推荐