Si avoir une liste, dites a = [1,2,3] code>, et je veux voir si un [4] est null code>, existe-t-il un moyen Pour ce faire, sans utiliser d'exception ni d'affirmation? P>
10 Réponses :
len code> vous racontera la longueur de la liste. Pour citer les documents: P>
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). P> blockQuote>Bien sûr, si vous souhaitez obtenir l'élément final dans une liste code> code>,
tuple code> oustring code>, 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] code> sera le dernier élément. P>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] code>. Évidemment, cela n'implique paslen code> cependant. P>
Un moyen encore plus simple d'accéder au dernier élément d'une liste, de tuple ou de chaîne: A [-1]
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
Utilisez Remarque: Votre question demande comment vous découvrirez "si len code> a [4] code> est null". a [4] code> n'est rien, c'est pourquoi vous obtenez un indexerror code> lorsque vous essayez de le vérifier. p> p>
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). P>
a [4] code> 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. P>
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 a [4] code> Dans ce cas, une exception code> indexerror index>, qui n'est pas la même que la comparaison de la valeur du A code> à Index 4 à Aucune code>. Vous pouvez avoir des valeurs de aucun code> dans une liste, et si vous devez comparer des valeurs de a code>, puis lorsque vous rencontrez un Aucun code>, il ne 't signifie que l'index n'a pas été trouvé dans la liste. Par exemple: len () code> d'une liste, mais en fonction de l'application, il existe d'autres façons, comme attraper un indexerror code> ou itération. p>
avec a [2: 3] fort> est SO A [I:] strong> fait la même chose, mais A [I:] Strong> crée une autre liste, possible très longtemps, tandis que A [I: I + 1] fort> est 1 élément si non vide p> a = [1,2,3] code>: p>
Vous pouvez écrire une fonction qui se comporte en quelque sorte comme dict.get () < / a> fait pour les dictionnaires: exemple d'utilisation: p> afin qu'il retournera toujours une valeur et que vous n'obtenez aucune exception. < / p> p>
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: p>
p>
Voici la déclaration logique que j'utilise pour vérifier si la fin de votre liste a été atteinte: espère que cela aide cela aide! :) p> p>
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]))
Stackoverflow .Com / Questions / 2138873 / ... Stackoverflow.com/Questtions/15226967/... Stackoverflow.com/questions/1630320/... Stackoverflow.com/Questtions/2429098/...