Python|值频率直到最大 K
其中一个问题基本上是许多复杂问题的子问题,即在Python的列表中查找小于某个数字的数字,这是常见的问题,这篇特定的文章讨论了这个特定问题的可能解决方案。
方法一:朴素的方法
解决此问题的最常见方法是使用循环并仅计算小于给定数字 K 的元素的出现次数。
# Python 3 code to demonstrate
# Values Frequency till Maximum K
# using naive method
# initializing list
test_list = [1, 7, 5, 6, 3, 8]
# initializing k
k = 4
# printing list
print ("The list : " + str(test_list))
# using naive method
# to get numbers < k
count = 0
for i in test_list :
if i < k :
count = count + 1
# printing the result
print ("The numbers smaller than 4 : " + str(count))
输出 :
The list : [1, 7, 5, 6, 3, 8]
The numbers smaller than 4 : 2
方法 2:使用sum()
sum() 也可以帮助我们完成这个任务。当找到小于 k 的数时,我们可以返回 1,然后使用 sum() 计算总和。
# Python 3 code to demonstrate
# Values Frequency till Maximum K
# using sum()
# initializing list
test_list = [1, 7, 5, 6, 3, 8]
# initializing k
k = 4
# printing list
print ("The list : " + str(test_list))
# using sum()
# to get numbers < k
count = sum(i < k for i in test_list)
# printing the result
print ("The numbers smaller than 4 : " + str(count))
输出 :
The list : [1, 7, 5, 6, 3, 8]
The numbers smaller than 4 : 2