У меня есть словарь с примерно 2000 значений с примером данных ниже:Извлечь список значений в словаре для сравнения?
{'chr': [('190', '192'),
('190', '252'),
('190', '255'),
('253', '255'),
('337', '339'),
('337', '2796'),
('337', '2799'),
('2797', '2799'),
('2801', '2803'),
('2801', '3730'),
('2801', '3733'),
('3731', '3733'),
('3734', '3736'),
('3734', '5017'),
('3734', '5020'),
('5018', '5020'),
('5234', '5236'),
('5234', '5527'),
('5234', '5530'),
('5528', '5530')]}
я это отсортированный по первому значению в каждой записи значения, но то, что я хочу сделать, это сравнить каждое значение против следующего один в списке значений и определить, сколько перекрытий есть или разница между ними, и добавить это значение в новый список.
Например, при сравнении (190,192) и (190,252), затем перекрытие 2, которое будет добавлено в список под названием «Расстояние».
Я пытался выяснить, как сделать это с помощью кода:
for key, values in Contigs:
for i,next(i) in Contigs:
is = set(i)
nis = set(next(i))
is.intersection(nis)
Это не сработало, но я работал на идее, что должно быть каким-то образом, чтобы выбрать и я, и следующую итерацию i для сравнения, сравнить, а затем перейти на следующую итерацию.
У кого-нибудь есть информация о том, как это сделать?
Спасибо!
какие значения вы точно сравниваете? –
Можете ли вы снова объяснить сравнение? –
Извините, я хочу сравнить каждую итерацию в списке значений со следующей итерацией. – Tom