Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivan ts:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon besoin :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtriez- vous un
moyen plus simple et plus robuste pour arriver au résutat?
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivan ts:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon besoin :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtriez- vous un
moyen plus simple et plus robuste pour arriver au résutat?
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivan ts:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon besoin :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtriez- vous un
moyen plus simple et plus robuste pour arriver au résutat?
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon besoin :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtriez-vous un
moyen plus simple et plus robuste pour arriver au résutat?
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon besoin :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtriez-vous un
moyen plus simple et plus robuste pour arriver au résutat?
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon besoin :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtriez-vous un
moyen plus simple et plus robuste pour arriver au résutat?
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon besoin :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtriez-vous un
moyen plus simple et plus robuste pour arriver au résutat?
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon besoin :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtriez-vous un
moyen plus simple et plus robuste pour arriver au résutat?
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon besoin :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtriez-vous un
moyen plus simple et plus robuste pour arriver au résutat?
Thomas Paviot wrote:Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suiv ants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon beso in :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
<typo>
remplacer les [] par des {}, bien sûr
</typo>Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtrie z-vous un
moyen plus simple et plus robuste pour arriver au résutat?
Dans le principe, ça reste la méthode générique la plus efficace. Quant
à la la laideur, il suffit d'encapsuler le tout dans une classe qui g ère
l'index inverse. Une première solution possible est:
class Biject(object):
def __init__(self, data):
self._map = data
self._rmap = dict((v, k) for k, v in data.items())
def __getitem__(self, key):
try:
return self._map[key]
except KeyError:
return self._rmap[key]
def __setitem__(self, key, val):
if self._rmap.has_key(key):
self._map[key] = key
self._rmap[val] = val
else:
self._map[key] = val
self._rmap[val] = key
d1={1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"}
biject = Biject(d1)
print biject['bleu']
1
Thomas Paviot wrote:
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suiv ants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon beso in :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
<typo>
remplacer les [] par des {}, bien sûr
</typo>
Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtrie z-vous un
moyen plus simple et plus robuste pour arriver au résutat?
Dans le principe, ça reste la méthode générique la plus efficace. Quant
à la la laideur, il suffit d'encapsuler le tout dans une classe qui g ère
l'index inverse. Une première solution possible est:
class Biject(object):
def __init__(self, data):
self._map = data
self._rmap = dict((v, k) for k, v in data.items())
def __getitem__(self, key):
try:
return self._map[key]
except KeyError:
return self._rmap[key]
def __setitem__(self, key, val):
if self._rmap.has_key(key):
self._map[key] = key
self._rmap[val] = val
else:
self._map[key] = val
self._rmap[val] = key
d1={1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"}
biject = Biject(d1)
print biject['bleu']
1
Thomas Paviot wrote:Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suiv ants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
(cet exemple est un modèle de mon problème réel. Le problème est
indépendant du type d'objet).
Actuellement, j'utilise deux dictionnaires pour répondre à mon beso in :
chacun d'entre eux réalisant une surjection de l'ensemble des clés sur
l'ensemble des valeurs, j'arrive ainsi à réaliser ma bijection:
d1=[1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"]
d2=["bleu":1,"vert":2,"jaune":3,"rouge":4","violet":5]
<typo>
remplacer les [] par des {}, bien sûr
</typo>Ensuite j'utilise au choix l'un ou l'autre de dictionnaires.
Je trouve cette méthode lourde et très inélégante. Connaîtrie z-vous un
moyen plus simple et plus robuste pour arriver au résutat?
Dans le principe, ça reste la méthode générique la plus efficace. Quant
à la la laideur, il suffit d'encapsuler le tout dans une classe qui g ère
l'index inverse. Une première solution possible est:
class Biject(object):
def __init__(self, data):
self._map = data
self._rmap = dict((v, k) for k, v in data.items())
def __getitem__(self, key):
try:
return self._map[key]
except KeyError:
return self._rmap[key]
def __setitem__(self, key, val):
if self._rmap.has_key(key):
self._map[key] = key
self._rmap[val] = val
else:
self._map[key] = val
self._rmap[val] = key
d1={1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"}
biject = Biject(d1)
print biject['bleu']
1
ou peut-etre:
class Biject(object):
def __init__(self, data):
self._map = {}
for k, v in data.iteritems():
self[k] = v
def __getitem__(self, key):
return self._map[key]
def __setitem__(self, key, val):
self._map[key] = val
self._map[val] = key
def __delitem__(self, key):
val = self._map[key]
del self._map[key]
del self._map[val]d1={1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"}
biject = Biject(d1)
print biject['bleu']
1
Gerard
ou peut-etre:
class Biject(object):
def __init__(self, data):
self._map = {}
for k, v in data.iteritems():
self[k] = v
def __getitem__(self, key):
return self._map[key]
def __setitem__(self, key, val):
self._map[key] = val
self._map[val] = key
def __delitem__(self, key):
val = self._map[key]
del self._map[key]
del self._map[val]
d1={1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"}
biject = Biject(d1)
print biject['bleu']
1
Gerard
ou peut-etre:
class Biject(object):
def __init__(self, data):
self._map = {}
for k, v in data.iteritems():
self[k] = v
def __getitem__(self, key):
return self._map[key]
def __setitem__(self, key, val):
self._map[key] = val
self._map[val] = key
def __delitem__(self, key):
val = self._map[key]
del self._map[key]
del self._map[val]d1={1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"}
biject = Biject(d1)
print biject['bleu']
1
Gerard
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
Que demande le peuple ?
Un livre sur les gnous, avec des images [] à découper, et ce serait auto-
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
Que demande le peuple ?
Un livre sur les gnous, avec des images [] à découper, et ce serait auto-
Bonjour à tous,
Je souhaiterais construire un lien bijectif entre les éléments suivants:
1<->"bleu"
2<->"vert"
3<->"jaune"
4<->"rouge"
5<->"violet"
Que demande le peuple ?
Un livre sur les gnous, avec des images [] à découper, et ce serait auto-
ou peut-etre:
class Biject(object):
def __init__(self, data):
self._map = {}
for k, v in data.iteritems():
self[k] = v
def __getitem__(self, key):
return self._map[key]
def __setitem__(self, key, val):
self._map[key] = val
self._map[val] = key
def __delitem__(self, key):
val = self._map[key]
del self._map[key]
del self._map[val]d1={1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"}
biject = Biject(d1)
print biject['bleu']
1
Gerard
A condition que les deux ensembles soient exclusifs. Sinon, il faut
prendre 2 maps et distinguer ensemble A / ensemble B.
ou peut-etre:
class Biject(object):
def __init__(self, data):
self._map = {}
for k, v in data.iteritems():
self[k] = v
def __getitem__(self, key):
return self._map[key]
def __setitem__(self, key, val):
self._map[key] = val
self._map[val] = key
def __delitem__(self, key):
val = self._map[key]
del self._map[key]
del self._map[val]
d1={1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"}
biject = Biject(d1)
print biject['bleu']
1
Gerard
A condition que les deux ensembles soient exclusifs. Sinon, il faut
prendre 2 maps et distinguer ensemble A / ensemble B.
ou peut-etre:
class Biject(object):
def __init__(self, data):
self._map = {}
for k, v in data.iteritems():
self[k] = v
def __getitem__(self, key):
return self._map[key]
def __setitem__(self, key, val):
self._map[key] = val
self._map[val] = key
def __delitem__(self, key):
val = self._map[key]
del self._map[key]
del self._map[val]d1={1:"bleu",2:"vert",3:"jaune",4:"rouge",5:"violet"}
biject = Biject(d1)
print biject['bleu']
1
Gerard
A condition que les deux ensembles soient exclusifs. Sinon, il faut
prendre 2 maps et distinguer ensemble A / ensemble B.