Sự khác biệt giữa việc hiểu danh sách và hiểu thấu máy phát với yield
bên trong là gì? Cả hai trở về một đối tượng máy phát điện (listcomp
và genexpr
tương ứng), nhưng khi đánh giá đầy đủ sau này thêm những gì dường như là khá dư thừa None
s.Sự khác biệt giữa việc hiểu danh sách và hiểu máy phát điện với `năng suất` bên trong
>>> list([(yield from a) for a in zip("abcde", itertools.cycle("12"))])
['a', '1', 'b', '2', 'c', '1', 'd', '2', 'e', '1']
>>> list(((yield from a) for a in zip("abcde", itertools.cycle("12"))))
['a', '1', None, 'b', '2', None, 'c', '1', None, 'd', '2', None, 'e', '1', None]
Bằng cách nào? Giải thích khoa học là gì?
@Alik, @Antti Haapala, vui lòng xóa dấu "trùng lặp". Câu hỏi này hỏi về hành vi sử dụng câu lệnh Python 'yield from'. Câu trả lời "trùng lặp" liên kết hỏi một câu hỏi tương tự về câu lệnh Python 'yield'. Hai câu này là khác biệt. Và vì 'năng suất từ' chỉ mới được thêm vào ngôn ngữ nên hoàn toàn tự nhiên là có những hành vi bất ngờ mới mà nó tạo ra. Điều này sẽ dẫn đến một số câu hỏi, trong khi chúng có thể trông giống như các câu hỏi về 'yield', không phải là những câu hỏi giống như câu hỏi về' yield'. –
bạn vẫn đang tìm kiếm câu trả lời cho câu hỏi của mình? – Daniel