Python 2.6.6 khi tôi gọi .get trên kết quả của một .get kết quả là một tuple. Điều này là không có ý nghĩa với tôi. Ví dụ:Tại sao một từ điển bị xích .get() trong python trả về một tuple khi mặc định được cung cấp không phải là một bộ tuple?
box = {}.get('test1',{}).get('test2','hrmm'),
print type(box)
in ra
<type 'tuple'>
này làm cho không có ý nghĩa với tôi. rõ ràng mặc định trong lần nhận thứ hai là một chuỗi đơn giản. vậy cái gì cho? cảm ơn cho bất kỳ cái nhìn sâu sắc.
+1. Python không có nhiều bẫy cho người mới bắt đầu, nhưng vai trò của dấu phẩy trong cú pháp cho các ký tự tuple là một trong số chúng. Thông thường nó cắn theo cách khác xung quanh, mặc dù - mọi người mong '(foo)' là một tuple chứa 'foo' khi thực tế nó chỉ là' foo'. Câu hỏi này cho thấy một sự lật đổ thú vị của lỗi điển hình. –
Cảm ơn bạn. Tôi cảm thấy rất ngớ ngẩn ngay bây giờ. Hà Hà. Vâng, nó có ý nghĩa tất nhiên bây giờ dấu phẩy sẽ tạo ra một đối tượng kiểu chuỗi của một số loại. Tôi hoàn toàn bị mù khi nhìn thấy dấu phẩy sau nhiều lần sửa đổi và thử nghiệm. –