Compréhension facile de Python pour les tableaux et (pour les super débutants)

Je suis autodidacte et participe à AtCoder en Python. Alors aujourd'hui, je vais donner une brève explication de et de l'arrangement, ce qui est un point que les gens qui ont commencé à apprendre (des gens comme moi dans le passé) ne comprendront pas! Je vais également expliquer l'histoire telle que l'entrée en utilisant pour d'AtCoder. C'est juste une brève explication. Si vous pouvez savoir au moins jusqu'ici, vous acquerrez également des capacités de google (capacité de vocabulaire quand google), s'il vous plaît google diverses fonctions par vous-même à chaque fois et rappelez-vous petit à petit! (Je suis un jeune codeur brun, et je ne suis pas doué pour les notations courtes. Si vous devez écrire un mensonge, faites-le moi savoir> <)

Qu'est-ce qu'une phrase pour Yo!

Comment écrire normalement

for i in range(3):
    print(i)

L'instruction for ressemble à ceci. ** Le nombre de nombres entre parenthèses de range () et le traitement à l'intérieur de l'instruction for sont répétés. ** ** En cela, ʻi` est appelé une variable de compteur de boucle (j'ai également cherché sur Google et maintenant je sais que le nom n'a pas d'importance) ** Il augmente de 1 à chaque fois qu'il est répété. ** **

Le résultat de l'exécution de ce code est

0
1
2

Ce sera.

Comme vous pouvez le voir ici, ʻi` de la première boucle vaut 0. Ce sera un point très important plus tard. Vous pouvez voir que «0,1,2» est sorti 3 fois au total. C'est parce que j'ai écrit «range (3)».

Comment décider du début et de la fin

for i in range(1,3):
    print(i)

En fait, il existe également une telle manière d'écrire. Le résultat en sortie est

1
2

est. Vous pouvez voir les règles en les comparant avec le code ci-dessus.

Développement ~ Répéter pour les phrases ~

L'instruction for peut être écrasée. Eh bien, pour l'instant, regardez-le.

for i in range(2):
    for j in range(3):
        print(i,j)

Résultat de sortie

0 0
0 1
0 2
1 0
1 1
1 2

Cela peut être un peu déroutant, mais vous pouvez vous y habituer! (En passant, si vous empilez beaucoup d'instructions for, cela prendra beaucoup de temps d'exécution.)

Quelle journée d'arrangement!

En gros, une liste est comme une variable qui peut stocker plusieurs éléments ensemble.

yasai = ["Carottes","Daikon","Gobo"]

Les éléments sont séparés par des virgules et entourés de «[]». Dans ce cas, pensez à «yasai» comme à un hôtel de trois chambres. Normalement, chaque chambre d'un hôtel a un numéro de chambre. Le tableau est le même.

Le tableau est numéroté «0,1,2 ....» dans l'ordre à partir de l'élément avant **. ** Ce numéro est appelé index.

Je le répète! !! ** Le numéro du premier élément est 0! !! !! ** ** C'est la même chose que «i». C'est un point très important, alors maintenons-le.

Précisons l'index

yasai = ["Carottes","Daikon","Gobo"]
print(yasai[1])

Vous pouvez également obtenir l'élément de ce nombre dans le tableau en écrivant ʻarray name [number] `comme ceci. Connaissez-vous le résultat de l'exécution de ce code?

Pensez-vous que c'est "carotte"? C'est faux!

Daikon

** Le numéro du premier élément est 0 **, veillez donc à ne pas vous tromper.

La longueur du tableau est len!

La longueur du tableau peut être obtenue avec len (array).

yasai = ["Carottes","Daikon","Gobo"]
print(len(yasai))

Résultat de sortie

3

J'utilise aussi souvent cela. Souvenons-nous.

Basé sur ce qui précède

Vous pouvez maintenant écrire un code comme celui-ci.

yasai = ["Carottes","Daikon","Gobo"]
for i in range(len(yasai)):
    print(yasai[i])

Résultat de sortie ↓

Carottes
Daikon
Gobo

comment c'est! Si vous pouvez comprendre jusqu'ici, vous serez en mesure de résoudre le problème C. Si vous ne comprenez pas, veuillez relire ce qui précède.

Essayez de saisir à l'aide de l'instruction for et de saisir le tableau. (AtCoder)

Avec AtCoder, je pense que l'entrée utilisant for viendra du problème C. Par exemple, cela ressemble à ceci ↓

C - Peaks

En regardant le champ de saisie, cela ressemble à ceci. スクリーンショット 2020-05-15 14.27.39.png

Vous ne comprenez peut-être pas le sens. Je n'ai pas non plus compris le sens au début. Surtout l'indice. Mais si vous pouvez comprendre ce qui précède, vous le comprendrez immédiatement.

N,M = map(int,input().split())
H = list(map(int,input().split()))
for i in range(M):
    A,B = map(int,input().split())

Jajan. Pour entrer dans la liste, couvrez simplement l'entrée habituelle de map () avec list (). Dans l'instruction for ci-dessous, la boucle est tournée M fois et A et B sont entrées M fois.

Comme vous pouvez le voir ici, Python n'a pas besoin de spécifier la longueur du tableau lors de la saisie du tableau, donc N n'est pas utilisé comme M lors de la saisie. C'est facile.

D'après la spécification d'entrée (voir l'image grise), N == len (H) est valable.

Tout le monde déteste les références désordonnées ~ Lisons le message d'erreur ~

L'une des erreurs les plus frustrantes pour les débutants concerne les références dans le désordre.

yasai = ["Carottes","Daikon","Gobo"]
print(yasai[3])

Eh bien, j'ai ce code. Savez-vous ce qu'est la sortie?

Dans le cas peu probable où quelqu'un pense "gobo", revenez à la page ci-dessus et gardez mes mots à l'esprit.

La réponse est "pas de sortie". J'obtiens un message d'erreur.

Traceback (most recent call last):
  File "Main.py", line 2, in <module>
    print(yasai[3])
IndexError: list index out of range

J'obtiens cette erreur.

Même si vous ne parlez pas anglais, ce n'est pas du tout difficile si vous le lisez calmement.

À partir de la ligne 2, vous pouvez voir que le code de la deuxième ligne est incorrect. Voir ʻIndexError: list index out of range`. C'est l'erreur d'index que je déteste le plus (souvent), ** référence hors tableau **.

En d'autres termes, si vous lisez ce message d'erreur, vous pouvez voir que "** L'index du code` print (yasai [3]) ʻ sur la deuxième ligne se réfère à l'extérieur du tableau **"!

Cette référence dans le désordre peut sembler simple à première vue, mais au fur et à mesure que le code devient plus complexe, elle devient une ** référence d'horreur dans le désordre sur l'enfer de parade **. Faites attention.

finalement

Si vous pouvez résoudre le problème C à une certaine vitesse, vous pouvez certainement viser un codeur marron! Python est un langage qui a un code court à écrire et convient à la résolution rapide de base, et surtout, il est facile à lire, donc cela m'a pris beaucoup de temps à écrire, mais s'il est marron, cela peut être relativement rapide.

Le plus gros problème est le temps d'exécution (le pro de la concurrence a une limite sur le temps d'exécution, écrivons le code le plus efficacement possible, consultez le web pour plus de détails), mais si vous vous habituez aux différents calculs Dans une certaine mesure, vous pouvez le sentir.

**S'il vous plaît faites de votre mieux! ** **

Recommended Posts

Compréhension facile de Python pour les tableaux et (pour les super débutants)
Python pour les super débutants Super débutants Python # Facile à éliminer
Python #function 2 pour les super débutants
Python #function 1 pour les super débutants
#List Python pour les super débutants
Python pour les super débutants Super débutants Python # dictionnaire type 1
Python #index pour les super débutants, tranches
Fonction Python #len pour les super débutants
Python #Hello World pour les super débutants
Python pour les super débutants Super débutants Python # dictionnaire type 2
[Python] Compte-rendu de la réunion d'étude pour les débutants (7/15)
Mettons ensemble Python pour les super débutants
Manuel python pour les débutants
Résumé des tableaux Python fréquemment utilisés (pour moi-même)
Installation de TensorFlow sur Windows Easy pour les débutants en Python
OpenCV pour les débutants en Python
Principes de base de Pandas pour les débutants ② Présentation des données de saisie
À propos de l'importation de modules externes Python <Pour les super débutants>
Histoire de base de l'héritage en Python (pour les débutants)
Comment convertir le type Python # pour les super débutants de Python: str
Résumé des méthodes de prétraitement pour les débutants en Python (trame de données Pandas)
Python # Comment vérifier le type et le type pour les super débutants
Flux d'apprentissage pour les débutants en Python
python> Gestion des tableaux 2D
Construction de l'environnement Python3 (pour les débutants)
Vue d'ensemble de Docker (pour les débutants)
Guide du débutant Python (Variations / Tableaux)
Grammaire de base Python pour les débutants
Pandas 100 coups pour les débutants en Python
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
Compréhension complète du débogage Python
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
■ Kaggle Practice pour les débutants - Introduction de Python - par Google Colaboratory
Comment convertir le type Python # pour les super débutants de Python: int, float
Un résumé de l'apprentissage automatique Python pour débutant est très concis.
[Python] Les principales faiblesses et inconvénients de Google Colaboratory [Pour les débutants]
[Pour les débutants] Les bases de Python expliquées par Java Gold Part 1
Chiffrement facile du contenu des fichiers (Python)
Exercices Python pour les débutants # 2 [pour instruction / instruction while]
[Python] Comprendre le potentiel_field_planning de Python Robotics
[À voir pour les débutants] Bases de Linux
Web scraping pour les débutants en Python (1)
[Python] Raison du remplacement à l'aide de super ()
Exécutez unittest en Python (pour les débutants)
Premiers pas avec python3
Mémorandum du débutant Mouvement "isdigit" Python
Web scraping pour les débutants en Python (4) -1
Enregistrement de l'introduction de Python pour les nouveaux arrivants
Apprenez les bases de Python ① Débutants élémentaires
Mémorandum de l'outil de gestion de paquets Python ez_setup
[Apprentissage automatique Python] Recommandation d'utilisation de Spyder pour les débutants (à partir d'août 2020)
Package PyPI pour une utilisation super facile de Cotoha sur Google colab
Technique Python pour ceux qui veulent se débarrasser des débutants
[Pour les débutants] Fonction récursive (Facile à comprendre la tour de Hanoi!)
Extraction de mots-clés facile avec TermExtract pour Python
[Python] Test super facile avec instruction assert
INSÉRER dans MySQL avec Python [Pour les débutants]
[Kaggle pour les super débutants] Titanic (retour logistique)
Résumé de diverses instructions for en Python
Introduction facile de la reconnaissance vocale avec Python
[Exemple d'amélioration de Python] Quel est le site d'apprentissage recommandé pour les débutants en Python?