Czy są jakieś sposoby, abyśmy mogli wykryć, czy obiekt jest listą w pythonie, używając type(obj)
->list
.Sprawdź, czy obiekt jest listą list w pythonie?
Ale jak możemy wykryć, czy obiekt jest lista lista postaci jak:
[['a','b']['a','b'][][]]
Czy są jakieś sposoby, abyśmy mogli wykryć, czy obiekt jest listą w pythonie, używając type(obj)
->list
.Sprawdź, czy obiekt jest listą list w pythonie?
Ale jak możemy wykryć, czy obiekt jest lista lista postaci jak:
[['a','b']['a','b'][][]]
Jeśli chcesz się upewnić, że każdy pozycja na liście znajduje się lista, można zrobić coś tak:
if all(isinstance(i, list) for i in lst):
# All of the items are lists
isinstance(i, list)
jest lepszy sposób pisania type(i) == type(list)
lub type(i) == list)
.all()
zwraca True
, jeśli wszystkie pozycje w sekwencji to True
. To zwróci False
, jeśli nie są one True
.Zastosowanie isinstance()
celu sprawdzenia konkretnego typu:
>>> isinstance([], list)
True
użytkowania all()
aby sprawdzić, czy wszystkie elementy są pewnego rodzaju:
all(isinstance(elem, list) for elem in list_of_lists)
all()
zwarć; jeśli którykolwiek z testów zwróci False
, pętla zostanie zakończona i zostanie zwrócona False
. Tylko jeśli wszystkie elementy oprócz jednego zwracają True
, trzeba all()
przeanalizować każdy element iteracji.
'type (i) == type (list)' nowsze działa mimo to. :-P 'type (i) is list' może mieć pewne zalety; testuje dla * dokładnego * typu (bez podklas). –