Нужна подсказка

Akitoza

Новичок
Пользователь
Фев 8, 2022
3
1
3
Всем привет, столкнулся с такой проблемой: Есть список Q[100][3], нужно поделить третий столбец на максимум этого столбца, но деление происходит только до строки с максимальным значением.

Python:
q_max = max(Q, key=lambda x: x[2])
for i in range(len(Q)):
    Q[i][2] /= q_max[2]
    print(Q[i][2])
Вывод:

0.8906455862977603
0.8906455862977603
0.8603425559947299
0.857707509881423
1.0
654.0
678.0
671.0
674.0
 
Последнее редактирование модератором:

Akitoza

Новичок
Пользователь
Фев 8, 2022
3
1
3
Спасибо, нашел ошибку
 
  • Мне нравится
Реакции: Vershitel_sudeb

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Странно, можно список? Проверил на списке поменьше, все работает нормально

P.s. как вставлять код
1644325946071.png
 

Akitoza

Новичок
Пользователь
Фев 8, 2022
3
1
3
список Q[100][3] я написал условно, реально в нем больше 100к строк, заполняется програмно, два столбца int, третий float
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Хорошо, возьмем для примера список из 10 строк:
Python:
Q = [[21, 88, 72],
     [87, 71, 24],
     [36, 30, 71],
     [69, 57, 60],
     [62, 93, 36],
     [74, 13, 86],
     [12, 77, 33],
     [39, 29, 78],
     [38, 85, 21],
     [52,  9, 59]]


q_max = max(Q, key=lambda x: x[2])[2]
for i in range(len(Q)):
    Q[i][2] /= q_max
    print(Q[i][2])
Вывод:
Код:
0.8372093023255814
0.27906976744186046
0.8255813953488372
0.6976744186046512
0.4186046511627907
1.0
0.38372093023255816
0.9069767441860465
0.2441860465116279
0.686046511627907

Все работает нормально
 

Форум IT Специалистов