J'ai une liste appelée paires.
pairs = [("a", 1), ("b", 2), ("c", 3)]
Et je peux accéder aux éléments comme:
for x in pairs:
print x
ce qui donne une sortie comme:
('a', 1) ('b', 2) ('c', 3)
Mais je veux accéder à chaque élément de chaque paire, comme en c ++, si nous utilisons pair<string, int>
nous pouvons accéder au premier élément et au deuxième élément par x.first
, et x.second
.par exemple.
x = make_pair("a",1)
x.first= 'a'
x.second= 1
Comment puis-je faire de même en python?
Utilisez le déballage du tuple:
>>> pairs = [("a", 1), ("b", 2), ("c", 3)]
>>> for a, b in pairs:
... print a, b
...
a 1
b 2
c 3
Voir aussi: Déballage de tuple pour les boucles .
Si vous souhaitez utiliser des noms, essayez un tuple nommé:
from collections import namedtuple
Pair = namedtuple("Pair", ["first", "second"])
pairs = [Pair("a", 1), Pair("b", 2), Pair("c", 3)]
for pair in pairs:
print("First = {}, second = {}".format(pair.first, pair.second))
UNE 2-Tuple
est une paire. Vous pouvez accéder aux premier et deuxième éléments comme ceci:
x = Tuple('a', 1) # make a pair
x[0] # access 'a'
x[1] # access 1
Quand tu dis pair[0]
, cela vous donne ("a", 1)
. La chose entre parenthèses est un Tuple, qui, comme une liste, est un type de collection. Vous pouvez donc accéder au premier élément de cette chose en spécifiant [0]
ou [1]
après son nom. Donc, tout ce que vous avez à faire pour obtenir le premier élément du premier élément de pair
est de dire pair[0][0]
. Ou si vous voulez le deuxième élément du troisième élément, c'est pair[2][1]
.