Оба решения, фильтр и понимание требуют создания нового списка. Я не знаю, что достаточно внутренностей Python уверено, но я думаю , что более традиционное (но менее изящный) подход могло быть более эффективным:
names = ['Jones', 'Vai', 'Smith', 'Perez']
item = 0
while item <> len(names):
name = names [item]
if name=='Smith':
names.remove(name)
else:
item += 1
print names
Так или иначе, для коротких списков, я придерживаюсь любого из этих двух решений, предложенных ранее.
Опубликованный вами код является точной копией некоторого кода, который у нас есть.
Он работает нормально уже 2 года.
Доступ каждого пользователя - это отдельный сеанс. Каждый запрос к серверу - это новый поток. Несмотря на то, что 2 запроса выполняются одновременно, HttpContext.Current отличается для каждого из этих запросов.
Вы будете получать новый сеанс для каждого подключения. Никакие два пользователя никогда не будут делить сеанс. Каждое соединение будет иметь собственное значение SessionID
. Пока пользователь остается на вашей странице (не закрывает браузер и т. Д.), Пользователь будет сохранять этот сеанс от одного запроса к другому.
Это будет нормально работать для нескольких пользователей, обращающихся к вашему приложению, поскольку для всех пользователей, одновременно обращающихся к приложению, будут сгенерированы разные идентификаторы сеанса. Он будет работать аналогичным образом, если вы определили в своей системе две разные переменные сеанса. Это будет похоже на упаковку состояний сеанса с использованием статической оболочки класса SessionHandler.