2013-11-12 4 views
0

Я хотел знать, есть ли простой способ найти все индексы пустого списка.Как найти все индексы списка, пустые в Python

mylist = [ [1,2,3,4], [] , [1,2,3,4] , [] ] 

next((i for i, j in enumerate(mylist) if not j),"no empty indexes found") возвратит первый пустой индекс списка, но я могу вернуть все из них? По умолчанию будет строка "no empty indexes found", если нет пустых индексов.

Я хочу добавить все пустые индексы в другой список для использования.

my_indexes_list.append(next((i for i, j in enumerate(self.list_of_colors) if not j),5)) 

ответ

2

Используйте тот факт, что пустые последовательности являются ложными в логическом контексте, вместе со списком понимания:

>>> mylist = [[1,2,3,4], [] , [1,2,3,4] , []] 
>>> [i for i,x in enumerate(mylist) if not x] 
[1, 3] 
-1
empties[] 
for s in mylist: 
    is len(s) == 0 
     empties.append(mylist.index(s)) 
1
>>> [i for i,x in enumerate(mylist) if x ==[] ] 
[1, 3] 
Смежные вопросы