Formulation du problème
- Étant donné un nombre entier
n
. - Étant donné une valeur de chaîne initiale
s
.
Comment créer un tableau de n
copies de s
en Python ?
# Input: n = 5 s = '' # Output: ['', '', '', '', '']
Méthode 1 :Multiplication de liste
Python n'a pas de type de tableau intégré. L'équivalent d'un tableau en Java est une liste en Python. Donc, nous modifions légèrement la formulation du problème pour créer une liste.
La façon la plus pythonique de créer un tableau de chaînes en Python de chaîne s
et taille n
est d'utiliser l'opérateur astérisque de multiplication de liste dans l'expression [s] * n
.
# Method 1: List Multiplication a = [s] * n print(a) # ['', '', '', '', '']
Contexte :Une introduction à l'opérateur Asterisk en Python
Méthode 2 :boucle For
L'approche canonique consiste à créer une liste vide et à ajouter de manière itérative la même valeur de chaîne à la liste existante dans une boucle for. Vous pouvez utiliser le standard list.append(element)
de Python fonction.
# Method 2: For Loop a = [] for i in range(n): a.append(s) print(a) # ['', '', '', '', '']
Contexte :Boucles Python
Méthode 3 :Compréhension de la liste
La compréhension de liste est un moyen concis de créer une nouvelle liste en une seule ligne. La compréhension de liste est une manière compacte de créer des listes. La formule simple est [expression + context]
.
- Expression :Que faire de chaque élément de la liste ?
- Contexte :Quels éléments sélectionner ? Le contexte consiste en un nombre arbitraire d'instructions for et if.
Voici un exemple :
# Method 3: List Comprehension a = [s for _ in range(n)] print(a) # ['', '', '', '', '']
Contexte :Une introduction à la compréhension des listes
Méthode 4 :Création d'un tableau NumPy
NumPy est la bibliothèque standard de Python pour les calculs numériques. La chose la plus proche d'un tableau Java en Python est un tableau NumPy. Vous pouvez créer un tableau NumPy à partir de n'importe quelle liste Python en passant la liste dans le np.array()
constructeur.
# Method 4: NumPy import numpy as np a = np.array([s for _ in range(n)]) print(a) # ['' '' '' '' '']
Contexte :NumPy - Tout ce que vous devez savoir pour commencer
Discussion
Le type de données chaîne en Python est immuable. Cela signifie que vous ne pouvez pas modifier une chaîne après l'avoir créée. Ceci est différent de Java où vous pouvez modifier une chaîne après l'avoir créée. Par conséquent, il n'est souvent pas logique d'initialiser un tableau avec des chaînes par défaut car ces chaînes ne peuvent pas être modifiées ultérieurement. La seule chose que vous puissiez faire est d'écraser les chaînes de la liste. Mais si vous faisiez cela, ajouter la valeur fictive n'a pas beaucoup de sens en premier lieu.