myList = []
myString = "this is my striNg 7"
说我想访问“ N”,但是我需要通过像这样的循环后退来实现它-
for i in myString:
if i == "7":
myList.append(i - 3 spaces)
我该怎么做?我正在努力寻找答案。谢谢
编辑-很抱歉,这是我的新手,我不确定为什么它的格式不正确
答案 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