我知道for循环:
for i range(2, 6):
print i
给出了这个输出:
2
3
4
5
我也可以用字母做某种事吗? 例如:
# an example for what i'm looking for
for i in range(c, h):
print i
c
d
f
g
答案 0 :(得分:9)
我认为将1
添加到ord('g')
比使用ord('h')
for code in range(ord('c'), ord('g') + 1):
print chr(code)
因为如果你想去'z',你需要知道'z'后面的内容。我打赌你可以比你查找它更快地输入+ 1
。
答案 1 :(得分:7)
for i in 'cdefg':
...
for i in (chr(x) for x in range(ord('c'), ord('h'))):
答案 2 :(得分:5)
这也有效,这样就非常清楚你正在使用的是什么:
import string
s = string.ascii_lowercase
for i in s[s.index('c'):s.index('h')]:
print i
答案 3 :(得分:3)
没有理由不使用:
>>> for char in "cdefg":
... print(char)
c
d
e
f
g
即使你不是程序员,你也可以弄清楚循环的作用,它基本上是英语。
它也更清洁,更短,最好的部分是它比chr(ord())
解决方案快6倍:
>>> import timeit
>>> timeit.timeit("for i in 'abcdefg': x = i")
0.27417739599968627
>>> timeit.timeit("for i in range(ord('a'), ord('g') + 1): x = chr(i)")
1.7386019650002709
答案 4 :(得分:0)
这个怎么样?
for code in range(ord('c'), ord('h')):
print chr(code)