Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Shuffle списка 
:(
    Опции темы
tofreesky
Дата 16.8.2013, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 9.6.2010

Репутация: нет
Всего: нет



Почему shuffle возвращает None? Ведь ей на вход идет список.

Код

list = [1, 2, 3, 4]
print random.shuffle(filter(lambda x: x > 0, list))
print filter(lambda x: x > 0, list)


Вывод:
None
[1, 2, 3, 4]
PM MAIL   Вверх
vvms
Дата 18.8.2013, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.10.2008

Репутация: 1
Всего: 1



shuffle ничего не возвращает, она меняет переданный ей массив. Поэтому и None.
То есть, в данном случае, она получает временный массив, меняет его, и массив уничтожается. Надо сохранить результат filter во временный список, вызвать для него shuffle и пользоваться обновленным временным, а не результатом shuffle

Это сообщение отредактировал(а) vvms - 18.8.2013, 06:45
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.