我一直在研究这个示例问题一段时间,但不知道如何在 Python 中以 Python 方式解决它:
假设我有一串数字, data = "124136"
遍历字符串,从左到右,整数可以对应字母表中的一个字母(例如 1= a
, 12= l
, 2= b
, 24= x
)
我想计算有多少可能的有效字母编码(即有多少不同的一位或两位数字块序列可以逐步遍历字符串,每个块<= 26)。在 Python 中,如何遍历该字符串并查看每个数字和每一对?我正在寻找明智的、人类可读的 Python,不一定是最巧妙的方式。
您可以使用sliding_window函数并检查窗口内的所有组合(只有三种可能的组合)
from toolz.itertoolz import sliding_window
d=set()
data = "124136"
for i in list(sliding_window(2, data)):
if 1<=int(i[0])<=26:
d.add(i[0])
if 1<=int(i[1])<=26:
d.add(i[1])
if 1<=int(i[0]+i[1])<=26:
d.add(i[0]+i[1])
print(d) # {'1', '12', '13', '2', '24', '3', '4', '6'}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句