3

空であるリストのすべてのインデックスを見つける簡単な方法があるかどうかを知りたかった.

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))
4

3 に答える 3

8

リスト内包表記と一緒に、ブール値のコンテキストでは空のシーケンスが false であるという事実を使用します。

>>> mylist  = [[1,2,3,4], [] , [1,2,3,4] , []]
>>> [i for i,x in enumerate(mylist) if not x]
[1, 3]
于 2013-11-12T00:38:12.517 に答える
1
>>> [i for i,x in enumerate(mylist) if x ==[] ]
[1, 3]
于 2013-11-12T00:26:54.467 に答える