📜  Python – x 跟随 y 的频率

📅  最后修改于: 2022-05-13 01:55:18.269000             🧑  作者: Mango

Python – x 跟随 y 的频率

有时,在Python中使用 Numbers 时,我们可能会遇到一个问题,即我们需要获取一个数字跟随另一个数字的次数。这可以应用于许多领域,例如日间编程和其他领域。让我们讨论可以执行此任务的某些方式。

方法#1:使用循环
这是我们执行此任务的蛮力方式。在此,我们遍历列表并继续检查先前和当前数字的结果并继续递增计数器。

# Python3 code to demonstrate working of
# Frequency of x follow y in Number
# using loop
  
def count_occ(num, next, prev):
    num = str(num)
    prev_chr = ""
    count = 0
    for chr in num:
        if chr == next and prev_chr == prev:
            count += 1
        prev_chr = chr
    return count
  
# initialize Number
test_num = 12457454
  
# printing original number
print("The original number : " + str(test_num))
  
# initialize i, j 
i, j = '4', '5'
  
# Frequency of x follow y in Number
# using loop
res = count_occ(test_num, j, i)
  
# printing result
print("The count of x preceding y : " + str(res))
输出 :
The original number : 12457454
The count of x preceding y : 2

方法 #2:使用循环 + isinstance() + 正则表达式
这是可以执行此任务的另一种方式。在此,我们使用正则表达式函数来检查前面的术语,而不是粗暴的方法。

# Python3 code to demonstrate working of
# Frequency of x follow y in Number
# using loop + isinstance() + regex
import re
  
def count_occ(num, next, prev):
    if not isinstance(num, str): 
        num = str(num) 
    return len(re.findall(prev + next, num)) 
  
# initialize Number
test_num = 12457454
  
# printing original number
print("The original number : " + str(test_num))
  
# initialize i, j 
i, j = '4', '5'
  
# Frequency of x follow y in Number
# using loop + isinstance() + regex
res = count_occ(test_num, j, i)
  
# printing result
print("The count of x preceding y : " + str(res))
输出 :
The original number : 12457454
The count of x preceding y : 2