Si j’ai le code Python suivant
Sera garantie d’être toujours
, ou sont les autres classements des éléments provisoires possibles ?
Si j’ai le code Python suivant
Sera garantie d’être toujours
, ou sont les autres classements des éléments provisoires possibles ?
En bref, oui, l'ordre est conservé. Dans la longue:
En général, les définitions suivantes s'appliquent toujours à des objets comme des listes:
Une liste est une collection d'éléments que peut contenir les éléments en double et a défini un ordre qui, généralement, ne pas changer, sauf si explicitement de le faire. les piles et les files d'attente sont les deux types de listes qui fournissent spécifiques (souvent limitée) comportement pour l'ajout et la suppression d'éléments (les piles étant LIFO, les files d'attente étant FIFO). Les listes sont pratiques, représentations de, bien, des listes de choses. Une chaîne peut être considéré comme une liste de caractères, que l'ordre est important ("abc" != "bca"
) et les doublons dans le contenu de la chaîne sont certainement permis ("aaa"
peut exister et != "a"
).
Un ensemble est une collection d'éléments qui ne peuvent pas contenir de doublons et a un ordre déterminé qui peut ou ne peut pas changer au fil du temps. Les ensembles sont plus orientées vers les mathématiques et théoriques fins que celles de la vie réelle; ils ne représentent pas des listes de choses à ce point, puisqu'ils décrivent la mesure d'une certaine sélection de choses. Les ensembles sont souvent utilisés en mathématiques à classer des nombres (par exemple l'ensemble des nombres réels, l'ensemble de tous les nombres entiers, ect). Dans de nombreuses implémentations, ensembles sont toujours en interne triés.
La Collection est un terme générique se référant à un objet utilisé pour stocker un (généralement variable) nombre d'autres objets. Les deux listes et les jeux sont un type de collection. Les Tuples et les Tableaux sont normalement pas considérés comme des collections. Certaines langues envisager de cartes (conteneurs qui décrivent les associations entre différents objets) à un type de collection.
Ce schéma de nommage est valable pour tous les langages de programmation que je connais, y compris Python, C++, Java, C#, et Lisp (dans lequel la liste de ne pas garder leur ordre serait particulièrement catastrophique). Si quelqu'un sait d'où cela n'est pas le cas, s'il vous plaît dites-le et je vais modifier ma réponse. Notez que les implémentations spécifiques peuvent utiliser d'autres noms pour ces objets, comme le vector en C++ et flex en ALGOL 68 (les deux listes; flex est techniquement juste un re-extensible tableau).
Si il n'y a aucune confusion à gauche, dans votre cas, en raison des spécificités de la façon dont l' +
signe œuvres ici, il suffit de savoir que l'ordre est important pour les listes et moins il y a de très bonnes raisons de croire le contraire, vous pouvez très bien toujours raisonnable de supposer que la liste des opérations de préserver l'ordre. Dans ce cas, l' +
signe se comporte comme il le fait pour les chaînes de caractères (qui sont vraiment des listes de caractères de toute façon): il reprend le contenu de la liste et le place derrière le contenu de l'autre.
Si nous avons
list1 = [0, 1, 2, 3, 4]
list2 = [5, 6, 7, 8, 9]
Alors
list1 + list2
Est le même que
[0, 1, 2, 3, 4] + [5, 6, 7, 8, 9]
Qui évalue à
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Un peu comme
"abdcde" + "fghijk"
Produit
"abdcdefghijk"
Je suppose que l'une chose que peut-être vous concernant est de savoir si ou non les entrées à changer, ainsi que le 2 devient un autre numéro, par exemple. Vous pouvez mettre votre esprit à l'aise ici, parce qu'en Python, les entiers sont immuables, ce qui signifie qu'ils ne peuvent pas changer une fois qu'ils sont créés.
Tout n'est pas en Python est immuable. Par exemple, les listes sont mutables---ils peuvent changer après sa création. Ainsi, par exemple, si vous aviez une liste de listes
>>> a = [[1], [2], [3]]
>>> a[0].append(7)
>>> a
[[1, 7], [2], [3]]
Ici, j'ai changé la première entrée de l' a
(j'ai ajouté 7
). On pourrait imaginer de brassage des choses autour, et d'obtenir des choses inattendues ici si vous n'êtes pas prudent (et en effet, cela arrive à tout le monde quand ils commencer la programmation en Python, d'une certaine façon ou d'une autre; il suffit de chercher sur ce site pour "modification d'une liste tout en parcourant" de voir des dizaines d'exemples).
Il est également intéressant de souligner que x = x + [a]
et x.append(a)
ne sont pas la même chose. La seconde mutation de l' x
, et la première crée une nouvelle liste et l'attribue à l' x
. Pour voir la différence, essayez de configurer y = x
avant d'ajouter quoi que ce soit à l' x
et en essayant de chacun, et de regarder la différence de le rendre à l' y
.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.