jone21
@jone21
Кратко не получится

Как в двумерном массиве удалить повторы замещением?

Поступает массив list
[['0.00221980', '0.00000000'], ['0.00222220', '16.05000000'], ['0.00222230', '60.78000000'], ['0.00222240', '0.00000000'], ['0.00222250', '0.00000000'], ['0.00222260', '25.87000000'], ['0.00222270', '67.41000000'], ['0.00222280', '18.61000000'], ['0.00228000', '1882.18000000']]

нужно из него удалить [i][0][0]=0
[ ['0.00222220', '16.05000000'], ['0.00222230', '60.78000000'],['0.00222260', '25.87000000'], ['0.00222270', '67.41000000'], ['0.00222280', '18.61000000'], ['0.00228000', '1882.18000000']]

поступает ещё масив
['0.00222280', '0.00000000'], ['0.00228000', '0.00000000'],['0.00222264', '31.17000000']
происходит своего рода замещение если с 0 есть то удаляет
[ ['0.00222220', '16.05000000'], ['0.00222230', '60.78000000'], ['0.00222260', '25.87000000'], ['0.00222270', '67.41000000']]
и добавляет которое нормальное
[ ['0.00222220', '16.05000000'], ['0.00222230', '60.78000000'], ['0.00222260', '25.87000000'], ['0.00222270', '67.41000000'],['0.00222264', '31.17000000']]
и сортирует по возрастанию по 1 числу

если входящие значение уже есть то оставлять которое входит

в питоне вапще неселён помогите
задачка вроде простая
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
@o5a
Судя по описанию, из обоих массивов нужно удалить все элементы, у которых при одинаковом 1-м значении есть во 2-м '0.00000000'. Тогда можно сделать так (a, b - наши массивы):
# находим все значения с нулями
nn = [x[0] for x in a+b if x[1] == '0.00000000']
# фильтруем суммарный массив по этим значениям
d = [x for x in a+b if x[0] not in nn]
# в конце сортируем
d.sort()
print(d)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы