$groupByContinent = function(array $list) { return array_reduce($list, function($grouped, $item) { $grouped[$item['continent']][] = $item; return $grouped; }, []); }; $groupedByContinent = $groupByContinent($data);
Или:
$groupByProperty = function(array $list, string $property) { return array_reduce($list, function($grouped, $item) use(&$property) { $grouped[$item[$property]][] = $item; return $grouped; }, []); }; $groupedByContinent = $groupByProperty($data, 'continent');
python -c "for x in range(1,10): print x"
Просто добавьте двоеточие.
Рассматривать вопрос в комментариях:
Как я могу сделать эту работу хотя? Python-c "импортирует календарь; распечатайте calendar.prcal (2009); для x в диапазоне (1,10): печать x"
python -c "for x in range(1,10): x==1 and __import__('calendar').prcal(2009); print x;"
Поскольку Вы видите, что это довольно грубо. Мы не можем импортировать перед циклом. Для обхождения этого, мы проверяем, ли x при первом повторении в цикле, раз так мы делаем импорт.
Больше примеров здесь.
Не сценарий Python, но мог бы помочь:
for /L %i in (1, 1, 10) do echo %i
python -c "for x in range(1,10): print x"
Помните ":"!!
Вы не просто хотите это?
Python-c “для x в диапазоне (1,10): печать x”
Вот решение, которое не требует помещения оператора после двоеточия, которое не рассматривают очень высоко.
python2 -c "print '\n'.join([str(x) for x in range(1,10)])"
Что является большим количеством pythonic, чем понимание списка!
python -c 'print "\n".join(map(str, range(1,10)))'
но что случилось в "реальном" сценарии Python? (Вы знаете, foo.py, запущенный с помощью "Python foo.py"), Если Вам действительно нравятся остроты, я предлагаю жемчуг :)