Для l oop с перечислением - индексная позиция - PullRequest
0 голосов
/ 11 марта 2020

У меня есть решение стереть дубликаты из списка. В этом решении используется перечисление.

def myfunc(list_input):
    list_output=[]
    for num1, num2 in enumerate(list_input):
        if num2 not in list_input[0:num1]:
            list_output.append(num2)
    return list_output

print(myfunc([1,1,2,3])) --> ,[1,2,3,]

Однако я не недооцениваю и каким образом мы должны прочитать позицию индекса для нашего перечисления.

Какова позиция для каждого взаимодействия в list_input[0:num1], учитывая, что мы начали for l oop с num1, num2?

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Вопрос должен быть проработан, и, пожалуйста, исправьте форматирование. Но если я правильно понимаю, если вы хотите удалить дубликаты и вам требуется позиционирование или индекс каждого элемента (числа) недубликатов, вы используете enumerate () и, возможно, делаете что-то вроде этого:

nums = [1,1,3,5,7,9]
newlist = []
for num in nums:
  if num not in newlist:
    newlist.append(num)
for index, nums in enumerate(newlist):
  print("Index positioning: %s and Number at respective index is: %s" % (index,nums))

Выход:

Index positioning: 0 and Number at respective index is: 1
Index positioning: 1 and Number at respective index is: 3
Index positioning: 2 and Number at respective index is: 5
Index positioning: 3 and Number at respective index is: 7
Index positioning: 4 and Number at respective index is: 9
0 голосов
/ 11 марта 2020

Перечисляет итерации по итерируемой (в этом случае list_input), и при каждой итерации устанавливает первое значение (в данном случае num1) в текущий индекс, а второе значение (в данном случае num2) к значению итерируемого по этому индексу.

Например, на первой итерации num1 == 0 как итерация начинается с нулевого элемента, а num2 == 1 как list_input[0] == 1. list_input[0:num1] == [] так что в нем ничего нет, и поэтому значение добавляется к выходам.

На второй итерации индекс увеличивается на единицу и поэтому num1 == 1. list_input[0:num1] == [1] сейчас, и поскольку num2 находится в [1], значение не добавляется в список вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...