Уведомления

Группа в Telegram: @pythonsu

#1 Март 26, 2009 06:15:47

Slon
От:
Зарегистрирован: 2009-03-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка исключений

Ага, понял…щяс переспрошу:

В Питоне версии 2.6 функция map() возвращала результат в виде списка. Пример:

>>> map(lambda x: x+2,[1,2,3])
[3, 4, 5]
В версии 3.0.1 функция map() возвращает уже не список, а итератор. Пример:
 >>> map(lambda x: x+2,[1,2,3])
<itertools.imap object at 0x52e390>
Так вот… Что это такое и как с этим работать? =)



Отредактировано (Март 26, 2009 06:24:54)

Офлайн

#2 Март 26, 2009 06:55:25

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка исключений

Устанавливай питон 2.5/2.6 :)

>>> iterator = map(lambda x: x+2,[1,2,3])
>>> [i for i in iterator]
[3, 4, 5]



Отредактировано (Март 26, 2009 06:56:13)

Офлайн

#3 Март 26, 2009 09:06:00

Slon
От:
Зарегистрирован: 2009-03-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка исключений

hellslade
Устанавливай питон 2.5/2.6 :)
>>> iterator = map(lambda x: x+2,[1,2,3])
>>> [i for i in iterator]
[3, 4, 5]
Спасибо! Это помогло разобраться в итерациях.

Но вопрос остается открытым:
К примеру есть два списка:
AvailableNetworkDisk = # доступные шары для пользователя

MountedNetworkDisk = # смонтированные диски на локальной машине


Нужно подмонтировать диски из списка AvailableNetworkDisk к локальной машине и при этом удалить те диски которых в этом списке нет.

Я пока нашел только один вариант:
Удалить все шары, затем смонтировать нужные. (но, если скрипт запустить во время работы с документами….сами догадываетесь что будет = ) )



Офлайн

#4 Март 26, 2009 09:23:19

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Обработка исключений

In [25]: AvailableNetworkDisk = ['disk e:', 'disk f:', 'disk g:','disk h:', 'disk k:']
In [26]: MountedNetworkDisk = ['disk g:', 'disk v:', 'disk k:']
In [27]: DiskForDelete = [x for x in AvailableNetworkDisk if not x in MountedNetworkDisk]
In [28]: DiskForDelete
Out[28]: ['disk e:', 'disk f:', 'disk h:']
Почему бы не почитать документацию? ;)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#5 Март 26, 2009 12:28:21

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка исключений

может стоит использовать множества?

AvailableNetworkDisk = {'disk e:', 'disk f:', 'disk g:','disk h:', 'disk k:'}
MountedNetworkDisk = {'disk g:', 'disk v:', 'disk k:'}
AvailableNetworkDisk -= MountedNetworkDisk
print AvailableNetworkDisk == {'disk h:', 'disk e:', 'disk f:'}



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version