l = [4, 'read', 'item', 342, 'red', 23.5, 'alpha', 'bob', 'real'] l2 = [] for i in l: if isinstance(i, (int, float)): l2.append(i) if isinstance(i, str) and not i.startswith('r'): l2.append(i) print(l2) #[4, 'item', 342, 23.5, 'alpha', 'bob']
l = [4, 'read', 'item', 342, 'red', 23.5, 'alpha', 'bob', 'real'] l2 = [] for i in l: if isinstance(i, (int, float)): l2.append(i) if isinstance(i, str) and not i.startswith('r'): l2.append(i) print(l2) #[4, 'item', 342, 23.5, 'alpha', 'bob']
l = [4, 'read', 'item', 342, 'red', 23.5, 'alpha', 'bob', 'real'] l2 = [i for i in l if not isinstance(i, str) or i.startswith('r')]
l = [4, 'read', 'item', 342, 'red', 23.5, 'alpha', 'bob', 'real'] l2 = [i for i in l if not str(i).startswith('r')] print(l2) #[4, 'item', 342, 23.5, 'alpha', 'bob']
FishHookСпасибо! Нет, это не учебная, это просто пришло мне в голову и я задумался. Почему надо думать об архитектуре?
Это учебная задача? Если нет, то вам срочно надо думать над архитектурой вашей программы
ramiСпасибо!
DuffyDuckНу, потому что, если у вас есть список элементов случайного типа, надо задать себе вопрос, а как так получилось, зачем, а главное нахрена. То есть, вы же сначала где-то в вашей программе этот список создали. А потом придумываете костыль, с помощью которого боретесь с собственной структурой данных. Разумнее сделать сразу структуру с очевидным поведением. Ни в каких реальных проектах такой ерунды не бывает.
Почему надо думать об архитектуре?