- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
# разбираюсь с питоном, может растолкуете почему так
>>> z = [lambda: i for i in [1,2,3]]
# почему вот такой результат?
>>> z[0](), z[1](), z[2]()
(3, 3, 3)
# каждый элемент списка - отдельная функция
>>> z[0] == z[1], z[0] is z[1]
(False, False)
# вот таким образом выходит правильно.
>>> z = [lambda: 1, lambda: 2, lambda:3]
>>> z[0](), z[1](), z[2]()
(1, 2, 3)
Fai 14.08.2011 18:38 # −6
CPPGovno 14.08.2011 18:45 # 0
Fai 14.08.2011 18:46 # −2
CPPGovno 14.08.2011 18:46 # −2
а во втором случае 3 отдельных лямбды и каждая возвращает своё
Fai 14.08.2011 18:50 # −1
CPPGovno 14.08.2011 19:31 # −1
Fai 14.08.2011 20:15 # 0
Vindicar 14.08.2011 19:00 # −2
Fai 14.08.2011 19:09 # −1
Vindicar 14.08.2011 19:11 # 0
Fai 14.08.2011 19:16 # −1
Lure Of Chaos 14.08.2011 19:24 # +4
Nicklasos 14.08.2011 20:17 # 0
Amper 15.08.2011 04:08 # 0
или так: