Keys method with (dotted=True) gives multiplication of the same key
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 52/100
Línea de trabajo
Comienza en el punto de entrada Box.keys(dotted=True) y reproduce el ejemplo del issue, comparando las rutas devueltas para mappings y valores de lista. Rastrea por qué los elementos de las listas producen rutas indexadas y, después, verifica que el resultado contenga únicamente las claves padre: Animals.Land_animals, Animals.Sea_animals y Trees.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Bug of keys in Box:
When you use keys() method in a "dotted" situation, meaning we have a tree of keys in a Box, and you want to get the keys of a given node, one can notice that we get back a list of keys that are multiplicated if the value of a key is a list. (and the multiplication is by the lengh of the list)
For example:
b = Box({
"Animals" : {"Land_animals" : ["Lion", "Elephant"], "Sea_animals" : ["Dolphin", "Shark"]},
"Trees" : ["Palm_tree", "Coconut_tree"]
}, box_dots = True)
When you are using keys = b.keys(dotted = True) you get -
['Animals.Land_animals[0]',
'Animals.Land_animals[1]',
'Animals.Sea_animals[0]',
'Animals.Sea_animals[1]',
'Trees[0]',
'Trees[1]']
and we can see the multiple occurances of the keys (with indexes of their number of values), and the method len(keys) would have wrong answer - 6 instead of 3.
The output which I thought would be right is: ['Animals.Land_animals', 'Animals.Sea_animals', 'Trees']
A workaround is to add to the box this:
box_intact_types = (tuple,list)
so that lists wouldn't be converted, and than it works fine.
- Lenguaje dominante
- Python
- Estrellas
- 2.8k
- Forks
- 145
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cdgriffith/Box
-
subclass of `Box` does not unpickle correctlyPosiblemente ocupada @koriyoshi2041 la tomó hace 140 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
cdgriffith/Box#308 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
cdgriffith/Box#307 · 1 comentario ·
-
Dotted keys read from YAML are lost with box_dots / default_boxPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
cdgriffith/Box#305 ·
-
[Bug] Camel killer box and box dots gives unexpected behaviourPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
cdgriffith/Box#300 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
cdgriffith/Box#298 ·
Todos los issues de cdgriffith/Box
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ok-oldking/ok-wuthering-waves#1785 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
healthchecks/healthchecks#1349 ·
-
deployment release-lag
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
nolte/kamerplanter#2374 ·
Los mantenedores suelen responder en 1 día
-
bug v1 v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
modelcontextprotocol/python-sdk#3725 ·
Los mantenedores suelen responder en 1 día
-
batchterms() drops queries without a similar() clause, misaligning results with inputsPosiblemente ocupada @MohammadHijjawi97 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día