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
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
使うより追加1
したほうがいいと思いますord('g')
ord('h')
for code in range(ord('c'), ord('g') + 1):
print chr(code)
'z' に移動したい場合は、 'z' の後に何が続くかを知る必要があるからです。+ 1
検索するよりも速く入力できるはずです。
これも機能します。このようにして、作業内容が非常に明確になります。
import string
s = string.ascii_lowercase
for i in s[s.index('c'):s.index('h')]:
print i
使用しない理由はありません:
>>> 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