Имеются 2 списка:
a = [1, 16, 28, 35]
b = [9, 17, 28, 40]
Из списков получаю c = a + b, затем c.sort():
c = [1, 9, 16, 17, 28, 28, 35, 40]
Как сделать список c так, что нужно сравнивать 2 рядом стоящих числа на их разницу: 1 и 9, 16 и 17, 28 и 28 и т.д., с условием, что, если 1 меньше 9, то в список вставить недостающие по порядку числа: 2, 3, 4, 5, 6, 7, 8; а если числа равны, то оставить из них только одно?
То есть в результате список должен получиться такой: с = [1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 17, 28, 35, 36, 37, 38, 39, 40]
Ковырялся с циклами, но пришел в какой-то тупик.
Пришел к тому, что нужно делать что-то вроде
i = 0, d = []
while i < len(c):
if c[i] < c[i+1]:
for m in range(c[i], c[i+1]):
d.append(c+1)
i+
Но кроме ошибок ничего не вышло.
Спасибо
Задача наверняка на слайсы.
>>> c = [1, 9, 16, 17, 28, 28, 35, 40,]
пары не пересекаются, значит бежите по це ровно лен(це) // 2 раз,
но, главное, сам це на ходу менять нельзя, т.е. надо делать це2, и через копи.копи(це)