сравнение и сортировка массива - PullRequest
1 голос
/ 06 августа 2009

Из двух неравных массивов мне нужно сравнить и удалить на основе последнего значения массива.

Пример:

m[0] и n[0] считываются из текстового файла и сохраняются в виде массива, [0] - номер их столбца в текстовом файле.

m[0] = [0.00, 1.15, 1.24, 1.35, 1.54, 2.32, 2.85, 3.10, 3.40, 3.80, 4.10, 4.21, 4.44]

n[0] = [0.00, 1.12, 1.34, 1.45, 2.54, 3.12, 3.57]

n[0] последнее значение 3.57, оно лежит между 3.40 и 3.80 of m[0] so I need to print till 3.40 in m [0] `

Требуемый выход:

p[0] = [0.00, 1.15, 1.24, 1.35, 1.54, 2.32, 2.85, 3.10, 3.40]

Ответы [ 3 ]

6 голосов
/ 06 августа 2009

Некоторые детали немного неясны, но это должно делать то, что вы хотите:

p[0] = [x for x in m[0] if x < n[0][-1]]
1 голос
/ 06 августа 2009

если оба списка упорядочены, вы можете сделать:

import bisect
m[0][:bisect.bisect(m[0],n[0][-1])]
0 голосов
/ 06 августа 2009

Я не смог проверить это, но вот, пожалуйста ...

p = []
for item in m[0]:
    if (item < n[0][-1]):
        p.append(item)
    else:
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...