xrange và range trong python3
TIL
748
Python
62
White

Bùi Hồng Hà viết ngày 07/05/2016

Mình có đoạn code viết bằng python2 dùng hàm xrange. Đem lên chạy bằng python3 thấy gặp lỗi sau:

$ python test.py
Traceback (most recent call last):
  File "test.py", line 28, in <module>
    for step in xrange(201):
NameError: name 'xrange' is not defined

Sau khi tìm hiểu phát hiện ra hàm từ python3 trở đi, hàm xrange đã được đổi tên thành hàm range còn hàm range cũ trong python2 thì đã được loại bỏ.

Nhắc lại sự khác nhau giữa xrangerange:

  • range trả về một list. range(10000) trả về một list có 10000 phần tử và do vậy cần bộ nhớ cho 10000 phần tử
  • xrange dùng lazy evaluation để trả về phần tử tiếp theo, do vậy tiết kiệm bộ nhớ hơn.

Việc thay đổi tên này đồng nghĩa với việc hàm range trong python3 sẽ không còn tốn bộ nhớ như range trong python2 nữa.

08-05-2016

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Bùi Hồng Hà

59 bài viết.
321 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
89 8
Bài viết tổng hợp cơ chế hoạt động của https Chút ít về chữ ký điện tử Chữ ký điện tử là cơ chế bao gồm 3 thuật toán: Thuật toán chọn một khóa...
Bùi Hồng Hà viết 5 năm trước
89 8
White
49 7
Giới thiệu Gần đây thấy bản thân chém gió rất nhiều về MapReduce, Hadoop v.v nhưng chưa thấy có bài viết nào tổng hợp + giải thích cụ thể về MapRe...
Bùi Hồng Hà viết hơn 4 năm trước
49 7
White
38 0
Giới thiệu Google là một công ty dẫn đầu về phần mềm xử lý Big Data. Hầu hết các phần mềm xử lý dữ liệu như Hadoop đều có nguồn gốc ý tưởng từ Goo...
Bùi Hồng Hà viết hơn 4 năm trước
38 0
Bài viết liên quan
White
7 4
Description Mình là một thằng thích đọc sách. Nhưng lúc nào cũng bận (lười) nên cũng mấy tháng rồi chưa hoàn thành được quyển sách nào. Mình đa số...
Rice viết hơn 1 năm trước
7 4
White
0 4
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết 2 năm trước
0 4
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
59 bài viết.
321 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!