#python #arrays #string #append
#python #массивы #строка #добавить
Вопрос:
Итак, я просматривал некоторый код на python и наткнулся на этот фрагмент кода: он предположительно сканирует все экземпляры числа в строке, но я действительно не понимаю. Вот мой код:
inp = open("socdist1.in").read().strip().split()
print(inp)
n = int(inp[0])
cow_places = []
for i in range(n):
if (inp[1][i] == "1"):
cow_places.append(i);
print(cow_places)
Комментарии:
1. Привет, добро пожаловать в SO! Что вы исследовали в этом отношении и, в частности, что вас беспокоит?
2. Привет, я не понимаю, что делает N [1] [i] == ‘1’, я в замешательстве, потому что я видел это в обучающем видео, и парень использовал его для сканирования строки внутри массива для числа 1.
3. Мы можем ответить вам точно, только если вы можете предоставить содержимое
socdist.in
.4. Он делает именно то, что вы только что сказали! На самом деле выполняется поиск, имеет ли указанный индекс значение
'1'
5.[’14’, ‘10001001000010’] [0, 4, 7, 12]
Ответ №1:
Спасибо Poke, Navaneeth Reddy и Hamza за ответы на мой вопрос Для заинтересованных людей, ответ заключается в том, что N [1] [i] является частью двух вещей: N [1] часть — это 1-е место массива, и N [i] сканирует эту часть на предмет того, что вам нужноищите.
Ответ №2:
inp = [14, '10001001000010'] #14 is the length of the string '10001001000010'
print(inp[1]) #outputs '10001001000010'
print(inp[1][0]) #outputs '1'
print(inp[1][2]) #outputs '0'
for i in range(inp[0]): #inp[0] is the length of the string
print(inp[1][i]) #outputs the i-th character in '10001001000010'
Вывод цикла for выглядит следующим образом:
1
0
0
0
1
0
0
1
0
0
0
0
1
0