检查字符串中的下一个字符

时间:2015-04-14 13:11:58

标签: python string list

我想检查字符串中的下一个字符。我的代码目前是:

我输入了一个单词(例如hedge)。

split_word = word.split()
empty_list = []
for i in split_word:
    if i in "aeiou":
        if split_word[i+1] in "drlsj":
            empty_list.append(i)
            empty_list.append(i+1)

现在很明显i+1的符号是垃圾,但这只是为了澄清我想在i之后以某种方式访问​​角色的想法(一旦它通过if检查)。

1 个答案:

答案 0 :(得分:5)

您可以遍历字符;这会让你检查两个:

for a, b in zip(split_word, split_word[1:]):
    if a in "aeiou" and b in "drlsj":
        empty_list += [a, b]

来自输入的zip() function配对值;第一个元素在一起,第二个元素在一起,等等。由于输入给出单词和单词减去第一个字符,你会得到单词中的字符对。对于hedge,那就是('h', 'e')然后是('e', 'd'),然后是('d', 'g'),等等。只会生成完整的对,而且没有(None, 'e')对端。

您自己的尝试不包含索引,只包含单词中的字符。您可以使用enumerate() function为循环添加索引。但是,你需要小心,你不要试图超出单词的长度索引!在这种情况下,遍历所有单词减去最后一个字符

for i, a in enumerate(split_word[:-1]):
    b = split_word[i + 1]
    # etc.