Hướng dẫn xrange python - trăn xrange
Range() và xrange() là hai hàm mà ta có thể sử dụng để lặp một số lần nhất định ở vòng lặp for trong Python. Trong Python 3, không có hàm xrange, nhưng hàm range hoạt động giống như xrange trong Python 2. Nếu bạn muốn viết code sẽ chạy trên cả Python 2 và Python 3, bạn nên sử dụng hàm range(). range() – Hàm này trả về một đối tượng range (một loại lặp lại).xrange() – Hàm này trả về đối tượng generator có thể được sử dụng để hiển thị các số chỉ bằng cách lặp. Chỉ có range cụ thể được hiển thị theo yêu cầu và do đó được gọi là lazy evaluation. – Hàm này trả về một đối tượng range (một loại lặp lại). Cả hai đều được thực hiện theo những cách khác nhau và có những đặc điểm khác nhau liên quan đến chúng. Các điểm so sánh là:
1. Kiểu trả về2. Bộ nhớrange .
3. Sử dụng hoạt động
2. Bộ nhớ3. Sử dụng hoạt động range được tạo bởi hàm range() chiếm nhiều bộ nhớ hơn so với biến lưu trữ range sử dụng xrange (). Lý do cơ bản cho điều này là kiểu trả về của range() là list còn đối với xrange(), kiểu trả về là đối tượng xrange().
3. Sử dụng hoạt động
3. Sử dụng hoạt động4. Tốc độcó thể được áp dụng trong list có thể được sử dụng trên đó. Mặt khác, vì xrange() trả về đối tượng xrange, các hoạt động liên quan đến list không thể được áp dụng trên nó, dẫn đến việc bất lợi. range() trả về – đối tượng range .xrange() trả về – đối tượng xrange () .
3. Sử dụng hoạt động
4. Tốc độnhanh hơn hàm range(). 5. Điểm quan trọng:
Vì range() trả về list, nên tất cả các hoạt động có thể được áp dụng trong list có thể được sử dụng trên đó. Mặt khác, vì xrange() trả về đối tượng xrange, các hoạt động liên quan đến list không thể được áp dụng trên nó, dẫn đến việc bất lợi.
Lỗi:
xrange() phải xây dựng lại đối tượng số nguyên mỗi lần, còn range() lại có các đối tượng nguyên thực. (Tuy nhiên, nó sẽ luôn hoạt động kém hơn về mặt bộ nhớ)
Fanpage Youtube |