Удалить все элементы, которые встречаются в одном списке, из другого

Допустим, у меня есть два списка, l1 и l2 . Я хочу выполнить l1 - l2 , который возвращает все элементы l1 не в l2 .

Я могу придумать подход наивного цикла к выполнению этого , но это будет действительно неэффективно. Каков питонический и эффективный способ сделать это?

В качестве примера, если у меня l1 = [1,2,6,8] и l2 = [2,3,5,8] , l1 - l2 должен вернуть [1, Я предоставляю новый сценарий установки и сценарий миграции из предыдущей версии, который создает новые таблицы, изменяет существующие таблицы и т. Д. Это все довольно стандартно.

У меня действительно не было много времени сначала поиграть с кодом EF 4, но Мне очень интересно использовать его, если он действительно жизнеспособен в производственной среде.

Допустим, у вас есть подход, основанный на коде, при котором база данных будет автоматически создана, если таковая не существует. Что произойдет, если вы выпустите новую версию программного обеспечения с изменениями схемы / модели. Достаточно ли умен EF, чтобы обновить схему базы данных в соответствии с обновленной моделью EF?

Сценарий

  1. Клиент устанавливает веб-сайт asp.net MVC на свой сервер. При первом запуске создается новая база данных
  2. Клиент некоторое время использует веб-сайт, и база данных заполняется некоторыми данными
  3. Тем временем выпускается новая версия веб-сайта и изменяется модель EF
  4. Клиент загружает новую версию, развертывает веб-сайт и указывает на существующую базу данных

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

14
задан Joshua Hayes 18 November 2010 в 04:17
поделиться