Форум сайта python.su
0
Есть список
l = [2262, 1750, 1726, 1576]
l = [2262-2262, 2262-1750, 1750-1726, 1726-1576]
l = [2262, 1750, 1726, 1576] for i in range(len(l)): print l[i]-l[i+1]
Офлайн
52
>>> mylist = [2262, 1750, 1726, 1576] >>> [0] + [mylist[idx-1] - mylist[idx] for idx in xrange(1, len(mylist))] [0, 512, 24, 150] >>> [0] + map(lambda idx: mylist[idx-1] - mylist[idx], xrange(1, len(mylist))) [0, 512, 24, 150]
нужно отнять каждый элемент списка от предыдущегоЧто здесь написано, понять невозможно. Здесь даже не описывается, как должен получиться новый список. Отсюда и начинается путаница.
Отредактировано fata1ex (Сен. 17, 2012 15:25:41)
Офлайн
72
l = [0] + map(lambda x: x[0]-x[1], zip(l, l[1:]))
Отредактировано PooH (Сен. 17, 2012 15:26:35)
Офлайн
0
Спасибо! Работает!
Офлайн
0
fata1ex
нужно отнять каждый элемент списка от предыдущего
Что здесь написано, понять невозможно. Здесь даже не описывается, как должен получиться новый список. Отсюда и начинается путаница.
Офлайн
52
Seganapa, ответы даны правильно только из-за примера :) Но если вы не можете описать для себя алгоритм решения задачи на родном языке, вряд ли вас ждет успех в её реализации на языке программирования.
Отредактировано fata1ex (Сен. 17, 2012 15:52:26)
Офлайн