@python_beginnersЭта группа больше не существует

Страница 5 из 1885
Set
18.05.2016
07:27:39
или с классом

да да

Так

Whore Amazing
18.05.2016
07:27:59
ты покажи, в общем, где у тебя id влезает.

Google
Pavel
18.05.2016
07:28:37
но зачем вообще это писать руками? Set Mo, филды формы можно автоматом выводить.

Set
18.05.2016
07:28:53
Если не приписывать это слово то не работает

Whore Amazing
18.05.2016
07:28:55
может, человеку секса не хватает.

я тоже поначалу руками писал.

Set
18.05.2016
07:29:13
Что бы тег менять

Pavel
18.05.2016
07:29:38
Если не приписывать это слово то не работает
давай скриншоты, что ты делаешь. И зачем тебе менять теги формы, если само всё неплохо работает.

Set
18.05.2016
07:30:00
обо мне

И такая же строка

Как имя

Whore Amazing
18.05.2016
07:30:28
проще скриншотами.

Set
18.05.2016
07:30:37
ок

но сайт через жопу

учусь

Google
Set
18.05.2016
07:30:48
Пока

?

Whore Amazing
18.05.2016
07:31:01
у всех поначалу через жопу.

Set
18.05.2016
07:31:14
В вк сидите

там у нас группа

В переписке

Есть ?

Whore Amazing
18.05.2016
07:31:39
тут удобнее.

Set
18.05.2016
07:31:48
дааа

Whore Amazing
18.05.2016
07:31:50
но если что, да, есть я там.

Set
18.05.2016
07:31:59
Надо друга как нибудь сюда

ну как буду около ноута

сразу скину

И ссылку свою от профиля скину

Альба
18.05.2016
08:08:20
Всем привет! помогите нубу: в общем , есть список списков, нужно, чтобы на выходе в подсписках нулевой элемент был 1, следующий равен предыдущему +1 Если в исходном подсписке последующий == предыдущему, то на выходе следующий равен предыдущему тоже

Zart
18.05.2016
08:10:02
т.е. удалить первые элементы подсписков?

Альба
18.05.2016
08:10:56
не, чтобы всегда с единицы начинались, длины подсписков на выходе должны равняться исходным длинам подсписков

Zart
18.05.2016
08:12:26
map(range(map(len, l)))

Альба
18.05.2016
08:13:51
Спасибо, Zart, попробую

Zart
18.05.2016
08:14:18
а, не, это с нуля даст

Google
Zart
18.05.2016
08:16:18
[list(range(1, len(i)+1)) for i in list_of_lists] примерно так, компрехеншеном

Альба
18.05.2016
08:18:04
Спасибо, сейчас посмотрю, что выйдет)

Set
18.05.2016
08:18:16
По идее правильно

Если они в беспорядочном

то надо добавить сорт

Альба
18.05.2016
08:18:43
отсортировал перед этим)

Set
18.05.2016
08:19:10
а ну тогда все должно сработать

)

Альба
18.05.2016
08:22:26
че то не выходит) или я не то делаю?:)

Set
18.05.2016
08:26:37
не понятно как то ответы

В конце строки

там 8 у тебя 5

Меня окружают смутные сомнения

Альба
18.05.2016
08:27:56
По идее там в подсписке 2 должно быть на выходе 1, 1, 2, 3, 4

точнее 1, 1, 2, 3, 4, 4

Set
18.05.2016
08:28:43
он не правильную формулу дал

У него нет условных операторов иф

Альба
18.05.2016
08:29:42
вот как-то надо условие задать, что если последующий равнялся предыдущему, то следующий элемент равен предудущему +0, если нет, то плюс 1

Zart
18.05.2016
08:30:16
последующий/предыдущий кто

Pavel
18.05.2016
08:30:31
[[3, 3, 3], [4, 4, 4, 4], [7, 7, 7, 7, 7, 7, 7]] -> [[1, 2, 3], [1, 1, 2, 3], [1, 1, 1, 2, 3, 4, 5]] ?

Google
Альба
18.05.2016
08:30:59
[[3, 3, 3], [4, 4, 4, 4], [7, 7, 7, 7, 7, 7, 7]] -> [[1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1]]

Zart
18.05.2016
08:31:14
эм

внятные условия задачи нужны

Альба
18.05.2016
08:32:09
[[1, 2, 3], [2, 2, 5, 9], [1, 3, 5, 5, 7, 9, 9]] -> [[1, 2, 3], [1, 1, 2, 3], [1, 2, 3, 3, 4, 5, 5]]

вот примерно так((

Сорри, парни, путаю всех только)

Pavel
18.05.2016
08:33:08
я ничего не понял.

Zart
18.05.2016
08:33:33
ага, дошло

»> renum = lambda e:reduce((lambda (o, i, p), c:(lambda n:(o+[n], n, c))(i if c==p else i+1)), e, ([], 0, 1))[0] »> s = [[1, 2, 3], [2, 2, 5, 9], [1, 3, 5, 5, 7, 9, 9]] »> map(renum, s) [[1, 2, 3], [2, 2, 3, 4], [1, 2, 3, 3, 4, 5, 5]]

скажем так,конкретно эта магия немного выше уровня начинающих 8)))

Альба
18.05.2016
09:10:32
жесть)))

Pavel
18.05.2016
09:11:14
Альба
18.05.2016
09:11:36
попробую разобраться, спасибо большое:)

Zart
18.05.2016
09:12:14
ну тут жестокое издевательство над reduce()

поправил там 1 на 0, чтобы исправить случай когда подсписок стартует с одинаковых

def renum(l): output = [] counter = 0 prev = 0 for curr in l: if curr != prev: counter += 1 prev = curr output.append(counter) return output »> map(renum, [[1, 2, 3], [2, 2, 5, 9], [1, 3, 5, 5, 7, 9, 9]]) [[1, 2, 3], [1, 1, 2, 3], [1, 2, 3, 3, 4, 5, 5]] »> map(renum, [[3, 3, 3], [4, 4, 4, 4], [7, 7, 7, 7, 7, 7, 7]]) [[1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1]]

вот так нагляднее, что мой код делает выше. это собсно процедурный вариант того что выше

т.е. в prev мы храним предыдущее значение списка и проходя по списку мы его обновляем и при сравнении определяем увеличивать ли счетчик

Альба
18.05.2016
09:26:25
Zart, круто , спасибо большое) очень)

Zart
18.05.2016
09:38:53
а если сделать xx = [1], for j, k in enumerate(i[1:], 1), то от строк 7 -8 можно избавиться сразу

Google
Zart
18.05.2016
09:39:30
вообще в задаче ничего не сказано про поведение когда длины подсписков меньше двух

ну и ты аппендишь j, а надо по идее xx[-1] или xx[-1]+1

Альба
18.05.2016
09:44:12
с одним элементом в подсписке код Zarta тоже пашет)

Zart
18.05.2016
09:44:37
тот код неявно считает что перед списком стоит нолик

а теперь как микеланджело берем и отсекаем лишнее: lists = [1, 2, 3], [2, 2, 5, 9], [1, 3, 5, 5, 7, 9, 9] newLists = [] for i in lists: xx = [1] for j, k in enumerate(i[1:], 1): xx.append(xx[j-1] + int(i[j-1] != i[j])) newLists.append(xx) »> newLists [[1, 2, 3], [1, 1, 2, 3], [1, 2, 3, 3, 4, 5, 5]]

я уже вижу вариант короче 8))

Pavel
18.05.2016
10:08:02
я уже вижу вариант короче 8))
ещё пара итераций - и вы вернётесь к варианту с трёхуровневым reduce().

Страница 5 из 1885

Эта группа больше не существует Эта группа больше не существует