У меня есть два списка, и я хочу сравнить значение в каждом списке, чтобы узнать, находится ли разница в определенном диапазоне и возвращает количество одинаковых значений в каждом списке. Вот мой код первая версия:Два значения в двух списках, упрощение кода
m = [1,3,5,7]
n = [1,4,7,9,5,6,34,52]
k=0
for i in xrange(0, len(m)):
for j in xrange(0, len(n)):
if abs(m[i] - n[j]) <=0.5:
k+=1
else:
continue
выход 3. Я также попробовал 2-й вариант:
for i, j in zip(m,n):
if abs(i - j) <=0.5:
t+=1
else:
continue
выход 1, ответ неверен. Поэтому мне интересно, есть ли более простой и эффективный код для 1-й версии, у меня есть большой набор данных для обработки. Спасибо!
Вы запрашиваете более простой или эффективный код? Первая версия, которую вы опубликовали, мне кажется довольно простой. –
Итак, первый код в порядке? если так, я бы не изменил его. Его легко понять и поддерживать. Почему принудительно затруднять чтение и поддержку, вводя какие-то сложные перечни, и т. Д.? – Marcin
@Mike спасибо. Я имею в виду более простой и эффективный, потому что у меня много данных для решения. – Ningxi