我想检查字符串中的下一个字符。我的代码目前是:
我输入了一个单词(例如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检查)。
答案 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.