Учитывая список, z = [1, 5, 10, 100, etc...]
Хотел бы получить позиции элементов в списке, а не значения элементов, используя выражение списка, в отличие от других методов.
Есть три варианта, которые язнать: [1] используя функции диапазона и длины for i in range(len(z)):
[2] используя функцию перечисления и опуская значения answer = [i for i,v in enumerate(z)]
[3], помещая функции range и len в выражение списка b = [i for i in range(len(z))]
... в итоге, существует ли функция, которая заменяет enumerate
или range(len())
, которая просто отбрасывает индекс без необходимости отбрасывать v
.
# example list
z = [1, 20, 50, 100, 50]
# using the range and len functions
for i in range(len(z)):
print(i)
# the enumerate method (ignoring v)
answer = [i for i,v in enumerate(z)]
print(answer)
# the range(len()) inside a list expression
answer = [i for i in range(len(z))]
print(answer)
желаемый ответ: [0, 1, 2, 3, 4]