目标:按字母而不是整数计算。
Python-2.7中是否有一种简洁的字母计数方法?我有一个程序,我在那里逐个枚举一些数据,而且我的解决方案对于阅读我的代码的人来说并不是很清楚。
我一直在查看标准文档,但我没有看到任何内置文件。
我在寻找什么:
for count in range('A', 'G'):
print count
output[1]:
'C'
'D'
'E'
'F'
我该怎么做:
解决方案A:使用字典
letters = {
1:'A'
2:'B'
3:'C'
...
}
for count in range(2, 6):
print letters[count]
解决方案B :使用chr()
和ord()
for count in range(2, 6):
print chr(ord('A') + count)
相关性:
我正在制作一张星期日纸上的热像图解算器。我的算法的一部分涉及按字母代码对单词进行分类。例如,
print letter_code('banana')
output[2]: 'ABCBCB'
答案 0 :(得分:2)
import string
alphabet = string.ascii_uppercase
>>> for char in alphabet[2:6]:
... print char
...
C
D
E
F
>>>
答案 1 :(得分:1)
您的解决方案B 可以表达:
for charcode in range(ord('B'), ord('G')):
print chr(charcode)
但要攻击你的大问题,那该怎么办:
from string import ascii_lowercase, ascii_uppercase
def letter_code(string):
indexes = [ascii_lowercase.index(letter) for letter in string]
return "".join(ascii_uppercase[indexes.index(number)] for number in indexes)
print letter_code('banana')
给你" ABCBCB"
答案 2 :(得分:0)
这是一个可以做你想做的功能:
import string
def enumerate(first, last):
alphabet = string.ascii_uppercase
start = alphabet.index(first)
while alphabet[start] != last:
print alphabet[start]
start += 1
print last
答案 3 :(得分:0)
我对我的特定应用感兴趣的另一个解决方案是:
Loop on random generation of RF fits,
Get RF prediction on the data for prediction
Select the model which best fits the "predicted data" (not the calibration data).