Tôi có thể sử dụng cái gì thay vì phạm vi trong Python?

range[] và xrange[] là hai hàm có thể được sử dụng để lặp lại một số lần nhất định trong vòng lặp for trong Python. Trong Python 3, không có xrange, nhưng hàm phạm vi hoạt động giống như xrange trong Python 2. Nếu bạn muốn viết mã sẽ chạy trên cả Python 2 và Python 3, bạn nên sử dụng phạm vi []

  • phạm vi [] - Điều này trả về một đối tượng phạm vi [một loại có thể lặp lại]
  • xrange[] – Hàm này trả về đối tượng trình tạo có thể được sử dụng để hiển thị các số chỉ bằng cách lặp. Phạm vi cụ thể duy nhất được hiển thị theo yêu cầu và do đó được gọi là "đánh giá lười biếng"

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à.  

  • Loại trả lại
  • Kỉ niệm
  • Hoạt động sử dụng
  • Tốc độ, vận tốc

Loại trả lại

range[] trả về – đối tượng phạm vi.
xrange[] trả về – đối tượng xrange[].

con trăn




The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
2

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
3

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
6
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
0_______01
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
2
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
3
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7
Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
0
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
2
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
3
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
7

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1____170____05

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1____174
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
75

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
77

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1____920
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1____174
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
25

đầu ra

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
0

Kỉ niệm

Biến lưu trữ phạm vi được tạo bởi phạm vi[] chiếm nhiều bộ nhớ hơn so với biến lưu trữ phạm vi sử dụng xrange[]. Lý do cơ bản cho điều này là kiểu trả về của phạm vi[] là danh sách và xrange[] là đối tượng xrange[].  

con trăn




The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
2

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
27

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
29
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
30

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
6
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
0_______01
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
2
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
3
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7
Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
0
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
2
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
3
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
52

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
53

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1____956
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
59

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
61

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
62

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1____965
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
68

đầu ra.  

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40

Hoạt động sử dụng

Vì phạm vi [] trả về danh sách, nên tất cả các hoạt động có thể được áp dụng trên danh sách đều có thể được sử dụng trên đó. Mặt khác, khi xrange[] trả về đối tượng xrange, các thao tác liên quan đến danh sách không thể được áp dụng trên chúng, do đó sẽ gặp bất lợi

con trăn




The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
2

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
70

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
6
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
0_______01
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
2
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
3
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
79
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7
Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
0
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
2
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
3
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
79
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
12

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
13

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1____016
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
5

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
19
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
20
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
21
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
22
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
23

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
4

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
25

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
26

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
1____029____05

Traceback [most recent call last]:
  File "1f2d94c59aea6aed795b05a19e44474d.py", line 18, in 
    print [x[2:5]]
TypeError: sequence index must be integer, not 'slice'
8
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
32
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
20
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
21
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
22
The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
23

Lỗi.  

________số 8

đầu ra.  

The size allotted using range[] is : 
80064
The size allotted using xrange[] is : 
40
7

Tốc độ, vận tốc

Do thực tế là xrange[] chỉ đánh giá đối tượng trình tạo chỉ chứa các giá trị được yêu cầu bởi đánh giá lười biếng, do đó triển khai nhanh hơn phạm vi[]

Chúng ta có thể sử dụng cái gì thay vì phạm vi trong Python?

range[] và xrange[] là hai hàm có thể được sử dụng để lặp lại một số lần nhất định trong vòng lặp for trong Python. Trong Python 3, không có xrange, nhưng hàm phạm vi hoạt động giống như xrange trong Python 2. Nếu bạn muốn viết mã sẽ chạy trên cả Python 2 và Python 3, bạn nên sử dụng phạm vi [].

Tôi có thể sử dụng cái gì thay vì phạm vi?

Một số từ đồng nghĩa phổ biến của phạm vi là la bàn, gam, quỹ đạo, phạm vi và quét .

Tại sao sử dụng liệt kê thay vì phạm vi?

Tại sao lại sử dụng enumerate[] thay vì range[] trong vòng lặp của python. enumerate[] sẽ nhanh hơn khi bạn muốn truy cập nhiều lần vào danh sách/mục có thể lặp lại tại chỉ mục của chúng . Khi bạn chỉ muốn một danh sách các chỉ số, sử dụng len[] và range[] sẽ nhanh hơn. Nó hoàn thành công việc, nhưng không phải Pythonic lắm.

Mã cho phạm vi trong Python là gì?

Hàm Python range[] .

Chủ Đề