5

私が持っている場合

char = 'a'

値を「b」に増やしてから「c」に増やすにはどうすればよいですか..

交換したり変えたりしたくありません。よく似てる

char = char + 1
4

4 に答える 4

4

このような:

char = chr(ord(char) + 1)

または、おそらく次のような pythonic:

from string import ascii_lowercase
char = ascii_lowercase[ascii_lowercase.index(char) + 1]

これらの方法はどちらも、 に到達した後に望ましくない動作をする可能性があることに注意してくださいz

何に使うのか分からないと断言はできませんが、この問題を回避する方法で何をしているのかを調べてみたいと思います。たとえば、次のようなコードがあるとします。

char = "a"
while True:
    if xxx():
        break
    if yyy():
        continue
    value = zzz()
    print char, value
    char = chr(ord(char) + 1)

代わりに次のようにします。

def find_values():
    while True:
        if xxx():
            break
        if yyy():
            continue
        yield zzz()

for char, value in zip(ascii_lowercase, find_values()):
    print char, value
于 2012-08-06T11:18:27.727 に答える