![](/img/trans.png)
[英]Some numbers are skipped in counting number of values greater and less than certain values in a list
[英]Counting values in a dictionary that are greater than a certain number in Python?
我正在寻找一个函数,该函数可以打印发现分数大于或等于90的次数。
因此,如果字典是:
d = {'Luke':'93', 'Hannah':'83', 'Jack':'94'}
输出应为2
尝试运行我的代码时收到以下错误:ValueError:int()的无效文字,基数为10:“ Tom”
def overNum():
d = {'Tom':'93', 'Hannah':'83', 'Jack':'94'}
count = 0
for number in d:
if int(number) in d and int(number) >= 90 in d:
count += 1
print(count)
如果用户输入:numTimes(),则输出应为:
2
for number in d:
将遍历字典的键而不是值。 您可以使用
for number in d.values():
要么
for name, number in d.items():
如果您还需要名称。
您需要使用items()
遍历字典中的键值对
def overNum():
d = {'Tom':'93', 'Hannah':'83', 'Jack':'94'}
count = 0
for name, number in d.items():
if int(number) >= 90:
count += 1
print(count)
我修复的if
语句也存在一些问题。
您可以使用filter
:
len(list(filter(lambda x: int(x[1]) > 90, d.items())))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.