7
votes

Comment vérifier si la fin de la liste a-t-elle été atteinte?

Si avoir une liste, dites a = [1,2,3] , et je veux voir si un [4] est null , existe-t-il un moyen Pour ce faire, sans utiliser d'exception ni d'affirmation?


1 commentaires

Stackoverflow .Com / Questions / 2138873 / ... Stackoverflow.com/Questtions/15226967/... Stackoverflow.com/questions/1630320/... Stackoverflow.com/Questtions/2429098/...


10 Réponses :


8
votes

len vous racontera la longueur de la liste. Pour citer les documents:

len (s)
Renvoyer la longueur (le nombre d'éléments) d'un objet. L'argument peut être une séquence
(chaîne, tuple ou liste) ou un mappage (dictionnaire).

Bien sûr, si vous souhaitez obtenir l'élément final dans une liste , tuple ou string , puisque les index sont basés sur 0. et la longueur d'un élément est le nombre d'éléments, a [len (a) -1] sera le dernier élément.

Afret, de manière générale, le moyen approprié d'accéder au dernier élément d'un objet qui permet une indexation numérique (STR, la liste, TUPLE, etc.) utilise A [-1] . Évidemment, cela n'implique pas len cependant.


1 commentaires

Un moyen encore plus simple d'accéder au dernier élément d'une liste, de tuple ou de chaîne: A [-1]



1
votes

Vous ne fournissez pas de cas d'utilisation spécifique, mais généralement pour une liste, vous utiliseriez len code> pour voir combien d'éléments figurent dans la liste.

if len(a) > 3:
    # Do something


0 commentaires

2
votes

Utilisez len xxx

Remarque: Votre question demande comment vous découvrirez "si a [4] est null". a [4] n'est rien, c'est pourquoi vous obtenez un indexerror lorsque vous essayez de le vérifier.


0 commentaires

1
votes

La manière générale de vérifier si vous consultez actuellement l'élément à la fin d'une liste (dans n'importe quelle langue) consiste à comparer l'index actuel que vous examinez avec la longueur de la liste moins une (puisque les index Commencez à 0).

a [4] n'est rien, car il n'existe pas - certaines langues peuvent mettre en œuvre cela comme étant null (ou non défini) mais beaucoup vont simplement jeter une exception si vous essayez de Accédez-y à la place.


0 commentaires

2
votes

a [4] Dans ce cas, une exception indexerror , qui n'est pas la même que la comparaison de la valeur du A à Index 4 à Aucune . Vous pouvez avoir des valeurs de aucun dans une liste, et si vous devez comparer des valeurs de a , puis lorsque vous rencontrez un Aucun , il ne 't signifie que l'index n'a pas été trouvé dans la liste. Par exemple: xxx

puisque les listes sont contiguës et indexées de manière séquentielle, la bonne façon de vérifier si un index est dans une liste consiste à le comparer au len () d'une liste, mais en fonction de l'application, il existe d'autres façons, comme attraper un indexerror ou itération. xxx


0 commentaires

1
votes

avec a = [1,2,3] :

a [2: 3] est [3]

A [3: 4] est []

SO A [I: I + 1]! = [] dit si un indice de a

A [I:] fait la même chose, mais A [I:] crée une autre liste, possible très longtemps, tandis que A [I: I + 1] est 1 élément si non vide


0 commentaires


3
votes

Voici une approche que j'ai appliquée dans l'un des défis arcades de combats de code .

essentiellement, La fin d'une liste est définie par:

  • Longueur de la liste - index actuel (itération) == 1


    xxx


0 commentaires

0
votes

Voici la déclaration logique que j'utilise pour vérifier si la fin de votre liste a été atteinte: xxx

espère que cela aide cela aide! :)


0 commentaires

0
votes

regarde ici: https://www.geeksforgeeks.org / Python-how-ut-to-get-the-last-of-list /

test_list = [1, 4, 5, 6, 3, 5] 
# printing original list  
print ("The original list is : " + str(test_list)) 
# First naive method 
# using loop method to print last element  
for i in range(0, len(test_list)): 
    if i == (len(test_list)-1): 
        print ("The last element of list using loop : "+  str(test_list[i])) 
# Second naive method         
# using reverse method to print last element 
test_list.reverse() `enter code here`
print("The last element of list using reverse : "+  str(test_list[0])) 


0 commentaires