Guide du débutant Python (Variations / Tableaux)

Aperçu

J'écrirai plusieurs fois un article pour les débutants de python3. Fondamentalement, il s'agit d'un article compilé en vous abonnant à Introduction to O'Reilly Book Python3. Ceci est un mémo pour ma critique, mais je l'ai posté parce que je pensais que cela pourrait être utile pour quelqu'un. Le lecteur est destiné aux débutants en programmation Python.

Cette fois, nous résumerons le Chapitre 2 «Valeurs numériques / Chaînes de caractères / Variables» / Chapitre 3 «Listes / Taples / Dictionnaires / Ensembles».

Chapitre 2: Valeurs numériques, chaînes de caractères, variables

Si vous avez appris d'autres langues au chapitre 2, il semble que vous n'ayez rien à savoir. La seule chose que je peux dire, c'est que je peux le déclarer sans me soucier du type ...

  • Le comportement des valeurs numériques et des chaînes de caractères est fondamentalement le même que dans les autres langues. Notez que Python implémente tout (valeurs de boule, entiers, virgules flottantes, chaînes, structures de données plus grandes, fonctions, programmes) en tant qu'objets </ Font color>. Contrairement à C, Java, C #, etc., vous pouvez déclarer sans vous soucier du type de la variable.
  • Les fonctions intégrées peuvent être remplacées, il y a donc un risque de réécriture
print(__import__('keyword').kwlist)  #Liste des mots réservés

for funcs in dir(__builtins__):
    print(funcs)  #Liste des fonctions intégrées prédéfinies

str = "hoge"  #Les fonctions intégrées prédéfinies peuvent être remplacées(Danger)
print(str)  # hoge
str(2016)  # TypeError

# None = "huga"  # 
  • python ne provoque pas de débordement d'entier
  • L'échappement est \ (barre oblique inverse)
  • Le saut de ligne lors de l'impression avec print () est \ n
  • Opérateur ternaire spécial </ Font>

sample.py


foo = x if (x >= 0) else -x #Opérateur ternaire Python

sample.c


foo = if (x >= 0) ? x : -x; //c,java,Opérateur à trois termes tel que js
  • Les opérations autour des chaînes peuvent être légèrement différentes (voir ci-dessous)

Fonctionnement unique des chaînes de caractères et des tableaux

Expression sens
[0] Obtenir le premier (début) d'un tableau / chaîne de caractères
[5] Obtenez le 6ème tableau / chaîne
[0:5] Obtenez du 1er au 5e du tableau / chaîne de caractères (non compris le 6e)
[:5] Récupère du 1er au 5e tableau / chaîne de caractères (depuis le début si la position de départ est omise)
[5:] Aller du 6e à la fin du tableau / chaîne de caractères (jusqu'à la fin si la position de fin est omise)
[:] Récupère tout le tableau / chaîne de caractères (du début à la fin)
[-1] Obtenez le premier (dernier) comptage à partir de la fin du tableau / chaîne de caractères
[-5:-1] Aller du 5 au 2 à partir de la fin en comptant à partir de la fin du tableau / chaîne de caractères ([-1]N'inclus pas)
[::5] Obtenez un tableau / une chaîne de caractères toutes les 5 étapes
[::-5] Obtenez un tableau / une chaîne de caractères toutes les 5 étapes par derrière
[::-1] Récupère un tableau / une chaîne de caractères dans l'ordre inverse

Opérateur arithmétique (la division des nombres entiers et la mise sous tension peuvent être différentes des autres langages ...)

opérateur sens Exemple résultat
+ Ajouter 5+3 8
- Soustraire 5-3 2
* Multiplier 5*3 15
/ division 5/3 1.6
// Division entière (troncature) 5//3 1
% Surplus 5%3 2
** Équitation 5**3 125

Fonctions de manipulation de tableaux et de chaînes de caractères

Expression sens
len(var) var longueur
var.split(",") var (chaîne de caractères)","Renvoie un tableau séparé par
",".join(var) var (chaîne ou tableau de chaînes)","Renvoie la chaîne combinée avec
var.replace(",", "") Remplace var (chaîne) et renvoie une nouvelle chaîne(Dans cet exemple","À""Remplacer par)

Chapitre 3: Listes, taples, dictionnaires, ensembles

Si vous avez appris d'autres langues au chapitre 3, il ne semble y avoir aucun problème. Cependant, il existe un style d'écriture de type Python (style d'écriture qui fait bon usage des itérateurs). Au début, vous pouvez vous sentir étrange sur la façon d'écrire "pour phrase". Si vous vous y habituez, il est pratique d'utiliser "in" pour accéder aux éléments du tableau. </ Couleur de la police>

  • Les index négatifs vous permettent d'accéder aux éléments en comptant à rebours depuis la fin. (Notation comme "arr [-1]")
  • Comment obtenir le tableau dans l'ordre inverse en utilisant correctement l'index négatif est'arr [:: -1] '
  • Vous pouvez créer une liste dans une liste et réaliser un tableau multidimensionnel.
two_dim_array = [["hoge", "huga"], [0, 1, 2], False]  #Liste dans la liste
print(two_dim_array[1][0])  # output = 0
  • Utilisez extend () ou + = pour joindre des séquences
  • L'ordre des clés dans le dictionnaire n'est pas fixe et n'est pas nécessairement l'ordre dans lequel les éléments ont été ajoutés.
  • Les listes, taples, dictionnaires et ensembles Python peuvent être utilisés avec un mélange de variables de différents types.
list_sample = ["hoge", 0, False]
tuple_sample = ("hoge", 0, False)
dict_sample = {0: "hoge", "huga": 0, 1: False}
set_sample = set("hoge", 0, False)
  • Utilisez in pour décrire l'accès aux éléments du tableau tels que for-in, if-in, etc.

Comment écrire autour de la liste

Nom Comment écrire
liste foo = ['tom', 'mike', 'nancy', 'jenny', 'jack']
Taple foo = ('tom', 'mike', 'nancy', 'jenny', 'jack')
dictionnaire foo = {'tom': 20, 'mike': 21, 'nancy': 'unknown', 'jenny': 12, 'jack': 55}
ensemble foo = set('tom', 'mike', 'nancy', 'jenny', 'jack')
  • Taple: tableau non dupliqué
  • Dictionnaire: un tableau qui définit KEY et VALUE (tableau associatif)
  • Set: Un tableau qui ne laisse que KEY du dictionnaire?

Comment écrire un tableau multidimensionnel

  • Une classe qui gère les tableaux est fournie dans numpy, qui est célèbre comme bibliothèque de calcul numérique. Gérez les tableaux multidimensionnels en utilisant "numpy.ndarray". Cependant, «numpy.ndarray» a les restrictions suivantes.
  • Tous les éléments du tableau ont le même type
  • Longueur de tableau fixe (tableau de longueur fixe)
  • Le nombre d'éléments dans chaque dimension du tableau est le même

De plus, si vous voulez l'utiliser pour écrire sans utiliser numpy, vous pouvez également utiliser ʻarr = [[]] `. Il peut s'agir d'un anti-pattern obsolète, alors vérifiez-le.

Fonction de manipulation de liste

une fonction sens
append( val ) Ajouter un élément à la fin de la liste
extend( arr ) Ajouter un tableau (plusieurs éléments) à la fin de la liste
insert( index, val ) Ajouter un élément à l'index spécifié dans la liste
del( index ) Supprimer l'élément de la liste spécifié par l'index
remove( val ) Supprimer l'élément avec la valeur spécifiée de la liste
pop() Élément pop
index( val ) Obtenir l'index de l'élément avec la valeur spécifiée dans la liste
count( val ) Obtenir le nombre d'éléments avec la valeur spécifiée dans la liste
join( arr ) Conversion d'une liste en chaîne (inverse de la fonction de fractionnement)
sort( reverse= True/False ) Trier la liste (par ordre croissant si numérique),Ordre alphabétique des chaînes de caractères)
len( arr ) Obtenez le nombre d'éléments dans la liste
  • Val représente une variable et arr représente un tableau.

Fonction de manipulation du dictionnaire

une fonction sens
update( dict ) Combiner des dictionnaires
del( key ) Supprimer l'élément avec la clé spécifiée
clear( ) Supprimer tous les éléments
  • Val est une variable, arr est un tableau et dict est un dictionnaire.

Lorsque vous utilisez update (dict), utilisez-le lors de l'ajout d'un dictionnaire avec plusieurs éléments. Si vous souhaitez ajouter une {clé: valeur}, vous pouvez l'ajouter en la remplaçant par '='. (Cependant, notez que si la clé est dupliquée, elle sera écrasée.) </ Couleur de la police>

dict_sample = {"red": 100, "green": 0, "blue": 200}
dict_sample2 = {"cyan": 50, "magenta": 60, "yellow": 70, "key_plate": 80}
dict_sample.update(dict_sample2)  #Combiner des dictionnaires
# > dict_sample = {"red": 100, "green": 0, "blue": 200, "cyan": 50, "magenta": 60, "yellow": 70, "key_plate": 80}
dict_sample["black"] = 123  #Si la clé n'est pas dupliquée, elle sera ajoutée
# > dict_sample = {"red": 100, "green": 0, "blue": 200, "cyan": 50, "magenta": 60, "yellow": 70, "key_plate": 80, "black": 123}
dict_sample["red"] = 123  #Si la clé est dupliquée, elle sera écrasée
# > dict_sample = {"red": 123, "green": 0, "blue": 200, "cyan": 50, "magenta": 60, "yellow": 70, "key_plate": 80, "black": 123}

Définir la fonction de manipulation

une fonction Calcul sens Exemple
set1.union( set2 ) set1 | set2 Ensemble de somme {1,2,3} | {2,4,6} ⇒ {1, 2, 3, 4, 6}
set1.intersection( set2 ) set1 & set2 Ensemble de produits (ensemble commun) {1,2,3} & {2,4,6} ⇒ {2}
set1.difference( set2 ) set1 - set2 Ensemble de différences {1,2,3} - {2,4,6} ⇒ {1, 3}
set1.symmetric_difference( set2 ) set1 ^ set2 OU exclusif (appartient à un seul) {1,2,3} ^ {2,4,6} ⇒ {1, 3, 4, 6}
  • L'ensemble représente un ensemble.

Combinaison avec for, in

L'instruction Python for n'implémente pas une combinaison de «expression d'initialisation; expression de condition de continuation; expression de réinitialisation». Par conséquent, n'écrivez pas en C, C ++, etc. Elle est similaire à la méthode d'écriture qui récupère les valeurs contenues dans tous les éléments d'un tableau ou d'un dictionnaire, comme l'instruction for-each fournie par JavaScript et Java.

list_sample = ["hoge", "huga", "hage"]
#Python pour l'anti-modèle de déclaration
for x in range(0, len(list_sample)):
    print(list_sample[x])  #Afficher les éléments du tableau un par un
#Python pour modèle de déclaration
for x in list_sample:
    print(x)  #Afficher les éléments du tableau un par un

Comme pour le dictionnaire, vous pouvez extraire les valeurs contenues dans tous les éléments en le combinant avec l'instruction for.

dict_sample = {"red": 100, "green": 0, "blue": 200}
#Python pour modèle de déclaration(Clé de dictionnaire uniquement)
for k in dict_sample.keys():
    print(k)  #Afficher les touches du dictionnaire une par une
#Python pour modèle de déclaration(Valeur du dictionnaire uniquement)
for v in dict_sample.values():
    print(v)  #Afficher les valeurs du dictionnaire une par une
#Python pour modèle de déclaration(Clé du dictionnaire,valoriser les deux)
for k, v in dict_sample.items():
    print(k + ":" + str(v))  #Afficher le contenu du dictionnaire un par un

Combinaison avec if, in

in est souvent utilisé comme expression conditionnelle. Vous pouvez juger s'il existe ou non un élément spécifié dans une liste, un taple, un dictionnaire ou un ensemble. (Dans le cas d'un dictionnaire, la présence ou l'absence d'une clé est jugée)

list_sample = ["hoge", "huga", "hage"]
if "hoge" in list_sample: # True
    pass

Recommended Posts