Keys method with (dotted=True) gives multiplication of the same key
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 52/100
Hướng nghiên cứu
Bắt đầu từ điểm vào Box.keys(dotted=True) và tái hiện ví dụ trong issue, so sánh các đường dẫn được trả về cho mappings và các giá trị danh sách. Truy vết lý do các phần tử danh sách tạo ra các đường dẫn có chỉ mục, sau đó xác minh rằng kết quả chỉ chứa các khóa cấp cha: Animals.Land_animals, Animals.Sea_animals và Trees.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 2.8k
- Fork
- 145
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của cdgriffith/Box
-
subclass of `Box` does not unpickle correctlyCó thể đã có người làm @koriyoshi2041 đã nhận 140 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
cdgriffith/Box#308 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 42/100
cdgriffith/Box#307 · 1 bình luận ·
-
Dotted keys read from YAML are lost with box_dots / default_boxCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
cdgriffith/Box#305 ·
-
[Bug] Camel killer box and box dots gives unexpected behaviourCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 30/100
cdgriffith/Box#300 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 42/100
cdgriffith/Box#298 ·
Tất cả issue của cdgriffith/Box
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
UKGovernmentBEIS/control-arena#917 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
debpalash/VoiceStudio#2937 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
aws-samples/sample-per-model-bedrock#261 ·
Maintainer thường phản hồi trong vòng 1 ngày