Ghi chú. range[]
trả về một dãy số bất biến có thể dễ dàng chuyển đổi thành danh sách, bộ dữ liệu, bộ, v.v.
Cú pháp của phạm vi[]
Hàm range[]
có thể nhận tối đa ba đối số
range[start, stop, step]
Các tham số
range[start, stop, step]
0 và range[start, stop, step]
1 trong range[]
là tùy chọnBây giờ, hãy xem cách range[]
hoạt động với số lượng đối số khác nhau
ví dụ 1. phạm vi [] với Đối số dừng
Nếu chúng ta chuyển một đối số cho range[]
, điều đó có nghĩa là chúng ta đang chuyển đối số
range[start, stop, step]
5Trong trường hợp này, range[]
trả về một dãy số bắt đầu từ 0 cho đến số [nhưng không bao gồm số]
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
ví dụ 2. phạm vi [] với các đối số bắt đầu và dừng
Nếu chúng ta chuyển hai đối số cho range[]
, điều đó có nghĩa là chúng ta đang chuyển các đối số
range[start, stop, step]
0 và range[start, stop, step]
5Trong trường hợp này, range[]
trả về một dãy số bắt đầu từ
range[start, stop, step]
0 [bao gồm] đến range[start, stop, step]
5 [không bao gồm]# numbers from 2 to 4 [5 is not included]
numbers = range[2, 5]
print[list[numbers]] # [2, 3, 4]
# numbers from -2 to 3 [4 is not included]
numbers = range[-2, 4]
print[list[numbers]] # [-2, -1, 0, 1, 2, 3]
# returns an empty sequence of numbers
numbers = range[4, 2]
print[list[numbers]] # []
ví dụ 3. phạm vi [] với các đối số Bắt đầu, Dừng và Bước
Nếu chúng ta vượt qua cả ba đối số,
- đối số đầu tiên là
0range[start, stop, step]
- đối số thứ hai là
5range[start, stop, step]
- đối số thứ ba là
1range[start, stop, step]
Đối số
range[start, stop, step]
1 xác định số tăng giữa hai số trong dãy# numbers from 2 to 10 with increment 3 between numbers
numbers = range[2, 10, 3]
print[list[numbers]] # [2, 5, 8]
# numbers from 4 to -1 with increment of -1
numbers = range[4, -1, -1]
print[list[numbers]] # [4, 3, 2, 1, 0]
# numbers from 1 to 4 with increment of 1
# range[0, 5, 1] is equivalent to range[5]
numbers = range[0, 5, 1]
print[list[numbers]] # [0, 1, 2, 3, 4]
Ghi chú. Giá trị mặc định của
range[start, stop, step]
0 là 0 và giá trị mặc định của range[start, stop, step]
1 là 1. Đó là lý do tại sao # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
9 tương đương với # numbers from 2 to 4 [5 is not included]
numbers = range[2, 5]
print[list[numbers]] # [2, 3, 4]
# numbers from -2 to 3 [4 is not included]
numbers = range[-2, 4]
print[list[numbers]] # [-2, -1, 0, 1, 2, 3]
# returns an empty sequence of numbers
numbers = range[4, 2]
print[list[numbers]] # []
0phạm vi [] trong vòng lặp
Hàm range[]
thường được sử dụng trong vòng lặp for để lặp vòng lặp một số lần nhất định. Ví dụ,
Hàm range[] trong Python trả về một dãy số, trong một phạm vi nhất định. Cách sử dụng phổ biến nhất của nó là lặp lại chuỗi trên một chuỗi số bằng vòng lặp Python
Cú pháp của hàm phạm vi Python[]
cú pháp. phạm vi [bắt đầu, dừng, bước]
Tham số
- bắt đầu. [ tùy chọn ] giá trị bắt đầu của chuỗi
- dừng. giá trị tiếp theo sau giá trị cuối cùng của chuỗi
- bước. [ tùy chọn ] giá trị số nguyên, biểu thị hiệu giữa hai số bất kỳ trong dãy.
Trở lại. Trả về một đối tượng loại phạm vi
Ví dụ về hàm phạm vi Python[]
Python3
# print first 5 integers
0 1 2 3 4 50
0 1 2 3 4 51
0 1 2 3 4 52
0 1 2 3 4 53
0 1 2 3 4 54
0 1 2 3 4 55
0 1 2 3 4 56
0 1 2 3 4 57
0 1 2 3 4 58
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 190
5 6 7 8 9 10 11 12 13 14 15 16 17 18 191
5 6 7 8 9 10 11 12 13 14 15 16 17 18 192
5 6 7 8 9 10 11 12 13 14 15 16 17 18 193
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 195
đầu ra
0 1 2 3 4
Việc sử dụng hàm phạm vi trong Python là gì
Nói một cách đơn giản, phạm vi [] cho phép người dùng tạo một chuỗi số trong một phạm vi nhất định. Tùy thuộc vào số lượng đối số mà người dùng chuyển đến hàm, người dùng có thể quyết định chuỗi số đó sẽ bắt đầu và kết thúc ở đâu, cũng như mức độ chênh lệch giữa một số và số tiếp theo. Hàm range[] trong Python có thể được khởi tạo theo 3 cách
- phạm vi [dừng] nhận một đối số
- phạm vi [bắt đầu, dừng] có hai đối số
- phạm vi [bắt đầu, dừng, bước] có ba đối số
Phạm vi Python [dừng]
Khi người dùng gọi range[] với một đối số, người dùng sẽ nhận được một chuỗi số bắt đầu từ 0 và bao gồm mọi số nguyên cho đến, nhưng không bao gồm, số mà người dùng đã cung cấp làm điểm dừng
Trực quan hóa phạm vi Python
Thí dụ. Trình diễn phạm vi Python [dừng]
Python3
5 6 7 8 9 10 11 12 13 14 15 16 17 18 196
5 6 7 8 9 10 11 12 13 14 15 16 17 18 197
0 1 2 3 4 51
0 1 2 3 4 52
0 1 2 3 4 53
0 1 2 3 4 54
0 1 2 3 4 55
0 2 4 6 83
0 1 2 3 4 57
0 1 2 3 4 58
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 190
5 6 7 8 9 10 11 12 13 14 15 16 17 18 191
5 6 7 8 9 10 11 12 13 14 15 16 17 18 192
5 6 7 8 9 10 11 12 13 14 15 16 17 18 193
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 195
đầu ra.
0 1 2 3 4 5
Phạm vi Python [bắt đầu, dừng]
Khi người dùng gọi phạm vi [] với hai đối số, người dùng không chỉ quyết định vị trí dừng của dãy số mà còn cả vị trí bắt đầu, vì vậy người dùng không phải bắt đầu từ 0 mọi lúc. Người dùng có thể sử dụng phạm vi [] để tạo một chuỗi số từ X đến Y bằng cách sử dụng phạm vi [X, Y]
Trực quan hóa phạm vi Python
Thí dụ. Trình diễn phạm vi Python [bắt đầu, dừng]
Python3
0 4 8 12 16 20 24 283
0 4 8 12 16 20 24 284
0 1 2 3 4 51
0 1 2 3 4 52
0 1 2 3 4 53
0 1 2 3 4 54
0 1 2 3 4 55
0 1 2 3 4 56
25 23 21 19 17 15 13 11 9 7 5 31
25 23 21 19 17 15 13 11 9 7 5 32
0 1 2 3 4 57
0 1 2 3 4 58
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 190
5 6 7 8 9 10 11 12 13 14 15 16 17 18 191
5 6 7 8 9 10 11 12 13 14 15 16 17 18 192
5 6 7 8 9 10 11 12 13 14 15 16 17 18 193
đầu ra.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Phạm vi Python [bắt đầu, dừng, bước]
Khi người dùng gọi phạm vi [] với ba đối số, người dùng không chỉ có thể chọn vị trí bắt đầu và dừng của dãy số mà còn có thể chọn mức độ chênh lệch giữa số này và số tiếp theo. Nếu người dùng không cung cấp một bước, thì phạm vi [] sẽ tự động hoạt động như thể bước đó là 1. Trong ví dụ này, chúng tôi đang in các số chẵn từ 0 đến 10, vì vậy chúng tôi chọn điểm bắt đầu từ 0[start = 0] và dừng chuỗi ở 10[stop = 10]. Để in một số chẵn, chênh lệch giữa một số và số tiếp theo phải là 2 [bước = 2] sau khi cung cấp một bước, chúng tôi nhận được đầu ra sau [0, 2, 4, 8].
Trực quan hóa phạm vi Python
Thí dụ. Trình diễn phạm vi Python [bắt đầu, dừng, bước]
Python3
0 1 2 3 4 51
0 1 2 3 4 52
0 1 2 3 4 53
0 1 2 3 4 54
0 1 2 3 4 55
for i in range[3.3]: TypeError: 'float' object cannot be interpreted as an integer5
25 23 21 19 17 15 13 11 9 7 5 31
for i in range[3.3]: TypeError: 'float' object cannot be interpreted as an integer7
25 23 21 19 17 15 13 11 9 7 5 31
for i in range[3.3]: TypeError: 'float' object cannot be interpreted as an integer9
0 1 2 3 4 57
0 1 2 3 4 58
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 190
5 6 7 8 9 10 11 12 13 14 15 16 17 18 191
5 6 7 8 9 10 11 12 13 14 15 16 17 18 192
5 6 7 8 9 10 11 12 13 14 15 16 17 18 193
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 195
đầu ra.
0 2 4 6 8
Phạm vi Python[] với các ví dụ
ví dụ 1. Tăng phạm vi sử dụng một bước tích cực
Nếu người dùng muốn tăng, thì người dùng cần số bước là số dương
Python3
Concatenating the result 0 1 2 3 4 10 12 14 16 189
0 1 2 3 4 51
0 1 2 3 4 52
0 1 2 3 4 53
0 1 2 3 4 54
0 1 2 3 4 55
for i in range[3.3]: TypeError: 'float' object cannot be interpreted as an integer5
25 23 21 19 17 15 13 11 9 7 5 31
First element: 0 Last element: 9 Fifth element: 47
25 23 21 19 17 15 13 11 9 7 5 31
First element: 0 Last element: 9 Fifth element: 49
0 1 2 3 4 57
0 1 2 3 4 58
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 190
5 6 7 8 9 10 11 12 13 14 15 16 17 18 191
5 6 7 8 9 10 11 12 13 14 15 16 17 18 192
5 6 7 8 9 10 11 12 13 14 15 16 17 18 193
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 195
đầu ra.
0 4 8 12 16 20 24 28
ví dụ 2. Phạm vi Python[] sử dụng bước phủ định
Nếu người dùng muốn giảm thì người dùng cần số bước là số âm.
Python3
# print first 5 integers
9
0 1 2 3 4 51
0 1 2 3 4 52
0 1 2 3 4 53
0 1 2 3 4 54
0 1 2 3 4 55
0 1 2 3 4 505
25 23 21 19 17 15 13 11 9 7 5 31
for i in range[3.3]: TypeError: 'float' object cannot be interpreted as an integer9
25 23 21 19 17 15 13 11 9 7 5 31
0 1 2 3 4 509
for i in range[3.3]: TypeError: 'float' object cannot be interpreted as an integer9
0 1 2 3 4 57
0 1 2 3 4 58
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 190
5 6 7 8 9 10 11 12 13 14 15 16 17 18 191
5 6 7 8 9 10 11 12 13 14 15 16 17 18 192
5 6 7 8 9 10 11 12 13 14 15 16 17 18 193
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 195
đầu ra.
25 23 21 19 17 15 13 11 9 7 5 3
ví dụ 3. Phạm vi Python[] với float
Hàm range[] của Python không hỗ trợ số float. tôi. e. người dùng không thể sử dụng số dấu phẩy động hoặc số không nguyên trong bất kỳ đối số nào của nó. Người dùng chỉ có thể sử dụng số nguyên
Python3
0 1 2 3 4 520
0 1 2 3 4 51
0 1 2 3 4 52
0 1 2 3 4 53
0 1 2 3 4 54
0 1 2 3 4 55
0 1 2 3 4 526
0 1 2 3 4 57
0 1 2 3 4 58
0 1 2 3 4 59
0 1 2 3 4 530
đầu ra.
for i in range[3.3]: TypeError: 'float' object cannot be interpreted as an integer
Ví dụ 4. Nối hai hàm range[] bằng phương thức itertools chain[]
Kết quả từ hai hàm phạm vi [] có thể được nối bằng cách sử dụng phương thức chuỗi [] của mô-đun itertools. Phương thức chain[] được sử dụng để in lần lượt tất cả các giá trị trong các mục tiêu có thể lặp lại được đề cập trong các đối số của nó
Python3
0 1 2 3 4 531
0 1 2 3 4 532
0 1 2 3 4 533
0 1 2 3 4 534
0 1 2 3 4 535
0 1 2 3 4 59
0 1 2 3 4 55
0 1 2 3 4 538
5 6 7 8 9 10 11 12 13 14 15 16 17 18 193
0 1 2 3 4 540_______29_______1
0 1 2 3 4 542
0 1 2 3 4 54
0 1 2 3 4 55
0 1 2 3 4 56
0 1 2 3 4 546
0 1 2 3 4 54
0 1 2 3 4 55
for i in range[3.3]: TypeError: 'float' object cannot be interpreted as an integer7
25 23 21 19 17 15 13 11 9 7 5 31
25 23 21 19 17 15 13 11 9 7 5 32
25 23 21 19 17 15 13 11 9 7 5 31
for i in range[3.3]: TypeError: 'float' object cannot be interpreted as an integer9
0 1 2 3 4 554
0 1 2 3 4 51
0 1 2 3 4 52
0 1 2 3 4 53
0 1 2 3 4 558
0 1 2 3 4 58
0 1 2 3 4 59
5 6 7 8 9 10 11 12 13 14 15 16 17 18 190
5 6 7 8 9 10 11 12 13 14 15 16 17 18 191
5 6 7 8 9 10 11 12 13 14 15 16 17 18 192
5 6 7 8 9 10 11 12 13 14 15 16 17 18 193
đầu ra.
Concatenating the result 0 1 2 3 4 10 12 14 16 18
Ví dụ 5. Truy cập phạm vi [] với giá trị chỉ mục
Một dãy số được hàm range[] trả về dưới dạng đối tượng có thể được truy cập bằng giá trị chỉ mục của nó. Cả lập chỉ mục tích cực và tiêu cực đều được hỗ trợ bởi đối tượng của nó