如何通过向后循环来访问字符串的一部分

时间:2019-03-03 16:45:18

标签: python string loops indexing

myList = []
myString = "this is my striNg 7"

说我想访问“ N”,但是我需要通过像这样的循环后退来实现它-

for i in myString:
    if i == "7":
       myList.append(i - 3 spaces)

我该怎么做?我正在努力寻找答案。谢谢

编辑-很抱歉,这是我的新手,我不确定为什么它的格式不正确

3 个答案:

答案 0 :(得分:1)

您可以执行以下操作来访问“ N”变量或i之前的3个字符:

for i,str in enumerate(myString):
    if str == "7":
       myList.append(myString[i-3])

枚举将以i = 0开头,并且每次循环继续时将在i上加1,但是我建议您添加一个条件以避免负数,例如,myString[i-3]出错:

for i,str in enumerate(myString):
    if (i > 2 and str == "7"):
       myList.append(myString[i-3])

答案 1 :(得分:1)

不确定我在这里收到您的要求。如果您要在字符串中出现字母“ N”的最高索引,则为此专门构建str.rfind()str.rindex()。两者之间的唯一区别是:rfind在失败的情况下将返回-1,而rindex将引发ValueError。或者,如果您想向后循环并将字母添加到从字符串末尾开始的列表中:

a_list = []
a_string = 'this is a string'

for i in range(len(a_string)-1, -1, -1) :
    a_list.append(a_string[i])

print(a_list)
['g', 'n', 'i', 'r', 't', 's', ' ', 'a', ' ', 's', 'i', ' ', 's', 'i', 'h', 't']

答案 2 :(得分:0)

只需在字符串上从最后一个索引到第一个循环,即可获取所需的元素。

Task