Những ví dụ này từ PEP là một nơi tốt để bắt đầu. Nếu bạn không quen thuộc với range
và %
, bạn cần phải lùi lại một bước và tìm hiểu thêm về cơ sở.
>>> print [i for i in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print [i for i in range(20) if i%2 == 0]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
>>> nums = [1,2,3,4]
>>> fruit = ["Apples", "Peaches", "Pears", "Bananas"]
>>> print [(i,f) for i in nums for f in fruit]
[(1, 'Apples'), (1, 'Peaches'), (1, 'Pears'), (1, 'Bananas'),
(2, 'Apples'), (2, 'Peaches'), (2, 'Pears'), (2, 'Bananas'),
(3, 'Apples'), (3, 'Peaches'), (3, 'Pears'), (3, 'Bananas'),
(4, 'Apples'), (4, 'Peaches'), (4, 'Pears'), (4, 'Bananas')]
>>> print [(i,f) for i in nums for f in fruit if f[0] == "P"]
[(1, 'Peaches'), (1, 'Pears'),
(2, 'Peaches'), (2, 'Pears'),
(3, 'Peaches'), (3, 'Pears'),
(4, 'Peaches'), (4, 'Pears')]
>>> print [(i,f) for i in nums for f in fruit if f[0] == "P" if i%2 == 1]
[(1, 'Peaches'), (1, 'Pears'), (3, 'Peaches'), (3, 'Pears')]
>>> print [i for i in zip(nums,fruit) if i[0]%2==0]
Đó là danh sách hiểu. Có, bạn có thể đọc về chúng tại python.org. –
Điều này được gọi là danh sách hiểu. Một giới thiệu: http://carlgroner.me/Python/2011/11/09/An-Introduction-to-List-Comprehensions-in-Python.html –
Về cơ bản, rất nhiều lập trình viên Python đã tìm thấy chính mình bằng cách sử dụng một bộ câu lệnh tương tự hơn và hơn nữa, và quyết định rằng, như các lập trình viên, họ có thể đơn giản hóa nhiệm vụ thường xuyên này. – Hannele