Python có một phương thức tích hợp, được gọi là range[start, stop]
, cho phép bạn dễ dàng tạo các mảng có giá trị là số nguyên, bắt đầu từ start
và kết thúc trước stop
[độc quyền]. Đoạn mã sau tạo một danh sách các số nguyên từ 0 đến 9
>>> range[10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Chỉ cung cấp một đối số cho phương thức range[]
sẽ tạo danh sách các số nguyên từ 0 đến giá trị của đối số đã cho
Thông thường, bạn sẽ muốn tạo một phạm vi và thêm nó vào cuối danh sách. Để thực hiện điều này, bạn sẽ muốn sử dụng phương thức extend[]
của danh sách, phương thức này nhận một giá trị có thể lặp lại, chẳng hạn như danh sách và thêm chúng vào cuối danh sách đích
Ở đây bạn có thể xem một ví dụ về việc thêm một danh sách vào cuối một danh sách khác bằng cách sử dụng extend[]
>>> list_a = [1, 2, 3]
>>> list_b = [4, 5, 6]
>>> list_a.extend[list_b]
>>> list_a
[1, 2, 3, 4, 5, 6]
Cuối cùng, để tạo một phạm vi và thêm nó vào cuối danh sách, bạn sẽ làm điều gì đó tương tự như đoạn mã trên, nhưng sử dụng phương thức range[]
thay vì danh sách được xác định trước
>>> my_list = [1, 2, 3]
>>> my_list.extend[range[4, 7]]
>>> my_list
[1, 2, 3, 4, 5, 6]
Bạn sẽ thường thấy rằng giá trị trả về của phương thức
>>> list_a = [1, 2, 3]
>>> list_b = [4, 5, 6]
>>> list_a.extend[list_b]
>>> list_a
[1, 2, 3, 4, 5, 6]
1 được bao bọc trong một danh sách. Điều này là do >>> list_a = [1, 2, 3]
>>> list_b = [4, 5, 6]
>>> list_a.extend[list_b]
>>> list_a
[1, 2, 3, 4, 5, 6]
1 không thực sự trả về một >>> list_a = [1, 2, 3]
>>> list_b = [4, 5, 6]
>>> list_a.extend[list_b]
>>> list_a
[1, 2, 3, 4, 5, 6]
3, mà thay vào đó là một đối tượng triển khai các phương thức >>> list_a = [1, 2, 3]
>>> list_b = [4, 5, 6]
>>> list_a.extend[list_b]
>>> list_a
[1, 2, 3, 4, 5, 6]
4. Mặc dù đối tượng này có thể lặp lại và giống như >>> list_a = [1, 2, 3]
>>> list_b = [4, 5, 6]
>>> list_a.extend[list_b]
>>> list_a
[1, 2, 3, 4, 5, 6]
3, nhưng cách tốt nhất là chuyển đổi nó một cách rõ ràng thành >>> list_a = [1, 2, 3]
>>> list_b = [4, 5, 6]
>>> list_a.extend[list_b]
>>> list_a
[1, 2, 3, 4, 5, 6]
3 trước khi sử dụngLưu ý rằng vì danh sách Python không được nhập, nên bạn có thể thêm một dải ô vào bất kỳ danh sách nào, bất kể nó chứa giá trị gì. Ví dụ
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 thông 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ố duy nhất 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 chỉ định số gia 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 lại vòng lặp một số lần nhất định. Ví dụ,