Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 28, 2010 18:15:45

evilempirer
От:
Зарегистрирован: 2010-06-07
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Удаление пробелов из списка

Необходимо удалить все пробелы из аргументов переданных через командную строку
Вот так

while True:
del sys.argv[sys.argv.index(' ')]
Вылетает с ошибкой хотя все удаляет. Подскажите если простой и изящный способ сделать это ?



Офлайн

#2 Сен. 28, 2010 18:28:43

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Удаление пробелов из списка

Ловим “ошибку”.

try:
while True:
del sys.argv[sys.argv.index(' ')]
except ValueError: pass
Но лучше проще:
while ' ' in sys.argv: 
sys.argv.remove(' ')



Отредактировано (Сен. 28, 2010 18:34:43)

Офлайн

#3 Сен. 28, 2010 18:30:08

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Удаление пробелов из списка

import sys
#import operator

argv = map(lambda arg: arg.replace(' ', ''), sys.argv)
#argv = map(operator.methodcaller('replace', ' ', ''), sys.argv)
argv = filter(None, argv) # опционально, в зависимости от того что тебе всё же нужно
..bw



Отредактировано (Сен. 28, 2010 18:33:27)

Офлайн

#4 Сен. 28, 2010 18:53:54

evilempirer
От:
Зарегистрирован: 2010-06-07
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Удаление пробелов из списка

while ' ' in sys.argv: 
sys.argv.remove(' ')
Вот, прям то что надо =)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version