获取列表中的第二个字符

时间:2019-01-02 04:48:08

标签: python

我正在尝试创建一个循环函数,如果句子中每个单词的第二个字符='R',则将其打印出来。

st = 'Print only the words'

for word in st.split():
    if word[1] == 'r':
        print(word)

我不断收到错误字符串索引超出范围。

3 个答案:

答案 0 :(得分:2)

您可以使用len(word) < 2明确过滤掉单词,这应该可以解决您的IndexError问题:

st = 'Print only a word with at least two letters that has r in index 2'

for word in st.split():
    if len(word) > 1 and word[1] == 'r':
        print(word)
# 'Print'

答案 1 :(得分:1)

如果单词只有一个字母,则索引超出范围。

st = 'Print only a word, orange'

for word in st.split():
    if len(word) > 1:
        if word[1] == 'r':
            print(word)

答案 2 :(得分:0)

如何使用regexp?

import re
re.findall(r'\b(.r.*?)\b',"Print the string or trim the string your lucky dry day")
  

[“打印”,“或”,“修剪”,“干燥”]