Как получить доступ к части строки, возвращаясь в цикле

Это точно правильно, потому что компилятор должен знать, какой тип он предназначен для распределения. Поэтому классы шаблонов, функции, перечисления и т. Д. Должны быть реализованы также в файле заголовка, если он должен быть опубликован или частично из библиотеки (статический или динамический), поскольку файлы заголовков НЕ скомпилированы в отличие от файлов c / cpp, которые находятся. Если компилятор не знает, что тип не может его скомпилировать. В .Net это возможно, потому что все объекты происходят из класса Object. Это не .Net.

2
задан Alain Merigot 3 March 2019 в 17:04
поделиться

3 ответа

Вы можете получить доступ к переменной «N» или 3 символам перед i, выполнив:

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

Перечисление начнется с i = 0 и будет добавлять 1 к i каждый раз, когда цикл будет продолжаться, но я посоветую вам добавить условие, чтобы избежать отрицательного числа, и ошибку в myString[i-3], например:

for i,str in enumerate(myString):
    if (i > 2 and str == "7"):
       myList.append(myString[i-3])
0
ответ дан toshiro92 3 March 2019 в 17:04
поделиться

Не уверен, что я получаю то, что вы спрашиваете здесь. Если вам нужен самый высокий индекс, где буква «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']
0
ответ дан lupodellasleppa 3 March 2019 в 17:04
поделиться

Просто зациклите строку от последнего индекса до первого и получите нужный элемент.

myString = "this is my striNg 7";
for (i = myString.length - 1; i > 0; i--) {
  if(myString[i]=='N'){
  console.log('index of N is ' +i);
  }
}

0
ответ дан Syed Mehtab Hassan 3 March 2019 в 17:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: