Hai phạm vi trong vòng lặp for Python

Phạm vi Python[] là một hàm tích hợp có sẵn với Python từ Python[3. x] và nó đưa ra một dãy số dựa trên chỉ số bắt đầu và dừng đã cho. Trong trường hợp chỉ mục bắt đầu không được cung cấp, chỉ mục được coi là 0 và nó sẽ tăng giá trị thêm 1 cho đến khi chỉ mục dừng

Ví dụ: phạm vi [5] sẽ xuất cho bạn các giá trị 0,1,2,3,4. Phạm vi Python[] là một lệnh rất hữu ích và chủ yếu được sử dụng khi bạn phải lặp lại bằng vòng lặp for

Trong hướng dẫn này, bạn sẽ học

cú pháp

range[start, stop, step]

Thông số

  • bắt đầu. [tùy chọn] Chỉ mục bắt đầu là một số nguyên và nếu không được cung cấp, giá trị mặc định là 0
  • dừng lại. Chỉ số dừng quyết định giá trị tại đó hàm phạm vi phải dừng. Nó là một đầu vào bắt buộc cho chức năng phạm vi. Giá trị cuối cùng sẽ luôn nhỏ hơn 1 giá trị dừng
  • bước chân. [không bắt buộc]. Giá trị bước là số mà số tiếp theo trong phạm vi phải được tăng lên, theo mặc định, nó là 1

Giá trị trả về

Giá trị trả về là một dãy số từ điểm bắt đầu cho đến điểm dừng

Phạm vi Python[] Hàm và lịch sử

Phạm vi Python[] đã được giới thiệu từ phiên bản python 3, trước đó xrange[] là chức năng

Cả phạm vi và xrange[] đều được sử dụng để tạo ra một chuỗi số

Sau đây là sự khác biệt giữa phạm vi và xrange[]

phạm vi [] xrange [] phạm vi [] đưa ra chuỗi số và trả về danh sách các số. Hàm xrange[] cung cấp một đối tượng trình tạo cần được lặp trong vòng lặp for để nhận các giá trị. Phạm vi [] trả về một danh sách. xrange[] trả về một đối tượng trình tạo. Phương thức range[] sử dụng nhiều bộ nhớ hơn vì danh sách trả về phải được lưu trữ so với xrange[]. Vì xrange[] trả về một đối tượng trình tạo, nó không đưa ra các giá trị ngay lập tức và phải được sử dụng bên trong vòng lặp for để lấy các giá trị. Việc sử dụng bộ nhớ nhiều hơn do đó việc thực thi mã bị chậm khi làm việc trên một tập hợp dữ liệu khổng lồ. Việc thực thi mã nhanh hơn khi sử dụng xrange[]

Sử dụng phạm vi[]

Ví dụ này cho thấy cách in các giá trị từ 0-9 bằng phạm vi []

Giá trị được sử dụng trong phạm vi là 10, vì vậy đầu ra là 0 1 2 3 4 5 6 7 8 9

Vì không bắt đầu nên bắt đầu được coi là 0 và giá trị cuối cùng được đưa ra cho đến 9. Giá trị cuối cùng luôn nhỏ hơn 1 giá trị đã cho i. e. điểm dừng-1

for i in range[10]:
    print[i, end =" "]

đầu ra

0 1 2 3 4 5 6 7 8 9

Sử dụng bắt đầu và dừng trong phạm vi[]

Trong mã, giá trị bắt đầu là 3 và giá trị dừng là 10. Ở đây chỉ số bắt đầu là 3 nên dãy số sẽ bắt đầu từ 3 cho đến giá trị dừng. Giá trị cuối cùng trong chuỗi sẽ nhỏ hơn 1 so với giá trị dừng 10-1 = 9

for i in range[3, 10]:
    print[i, end =" "]

đầu ra

3 4 5 6 7 8 9

Sử dụng bắt đầu, dừng và bước

Giá trị bắt đầu là 3 nên dãy số sẽ bắt đầu từ 3. Giá trị dừng là 10 nên dãy số sẽ dừng tại [10-1]i. e9. Bước là 2, vì vậy mỗi giá trị trong chuỗi sẽ được tăng thêm 2. Nếu giá trị bước không được cung cấp, giá trị cho bước mặc định là 1

for i in range[3, 10, 2]:
    print[i, end =" "]

đầu ra

3 5 7 9

Cho đến giờ, chúng ta đã thấy cách hàm range[] cung cấp giá trị gia tăng cho giá trị dừng đã cho. Bây giờ chúng ta hãy thử một ví dụ để lấy giá trị giảm dần trong phạm vi đã cho

Tăng các giá trị trong phạm vi bằng cách sử dụng một bước tích cực

Bước tham số trong phạm vi [] có thể được sử dụng để tăng/giảm các giá trị. Theo mặc định, nó là giá trị dương 1. Vì vậy, nó sẽ luôn cung cấp các giá trị gia tăng

Giá trị bước phải dương trong trường hợp bạn muốn giá trị gia tăng làm đầu ra

for i in range[1, 30, 5]:
    print[i, end =" "]

đầu ra

________số 8

Phạm vi đảo ngược. Giảm các giá trị bằng cách sử dụng bước âm

Bước tham số có giá trị âm trong phạm vi [] có thể được sử dụng để nhận các giá trị giảm dần. Trong ví dụ bên dưới, giá trị bước là âm nên đầu ra sẽ giảm dần so với giá trị phạm vi đã cho

for i in range[15, 5, -1]:
    print[i, end =" "]

đầu ra

for i in range[10]:
    print[i, end =" "]
0

Giá trị bắt đầu là 15, giá trị dừng là 5 và giá trị bước là số âm i. e -1. Với các đầu vào ở trên, hàm range[] sẽ giảm giá trị từ 15 trở đi cho đến khi đạt đến giá trị dừng, nhưng điểm khác biệt ở đây là giá trị cuối cùng sẽ là dừng + 1

Sử dụng số thực trong phạm vi Python[]

Bây giờ chúng ta hãy làm việc trên phạm vi [] bằng cách sử dụng các số dấu phẩy động

Ví dụ

for i in range[10]:
    print[i, end =" "]
1

Trong ví dụ trên, chúng tôi đã sử dụng giá trị dừng là 10. 5

đầu ra là

for i in range[10]:
    print[i, end =" "]
2

Python đưa ra lỗi vì hàm phạm vi [] không hỗ trợ các số dấu phẩy động cho bắt đầu, dừng và bước

Sử dụng vòng lặp for với Python range[]

Trong ví dụ này, chúng ta sẽ sử dụng một mảng số và, chúng ta hãy xem cách sử dụng phép lặp mảng bên trong vòng lặp for bằng cách sử dụng phạm vi []

Ví dụ

for i in range[10]:
    print[i, end =" "]
3

đầu ra

for i in range[10]:
    print[i, end =" "]
4

Trong ví dụ trên, chúng tôi đã sử dụng len[arr_list] làm giá trị dừng. Vòng lặp for sẽ lặp cho đến giá trị dừng i. e độ dài của mảng và đó sẽ là 4, vì chúng ta có bốn mục trong arr_list. Giá trị bắt đầu sẽ là 0 và bước sẽ là 1. Vì vậy, các giá trị sẽ bắt đầu từ 0 và sẽ dừng lại ở 3 i. e độ dài của mảng -1 nghĩa là 4 -1 = 3

Sử dụng phạm vi Python[] làm danh sách

Trong ví dụ này sẽ xem cách sử dụng đầu ra từ phạm vi dưới dạng danh sách

Ví dụ

for i in range[10]:
    print[i, end =" "]
5

đầu ra

for i in range[10]:
    print[i, end =" "]
6

Bạn có thể thấy đầu ra là một định dạng danh sách. Không cần thiết phải lặp phạm vi[] và sử dụng phương thức list[], chúng tôi có thể trực tiếp chuyển đổi đầu ra từ định dạng phạm vi sang định dạng danh sách

Sử dụng các ký tự trong phạm vi python[]

Cho đến nay, chúng tôi đã sử dụng số nguyên trong phạm vi python[]. Chúng tôi cũng đã thấy rằng các số dấu phẩy động không được hỗ trợ trong phạm vi python. Hãy để chúng tôi thử và xem đầu ra là điều gì sẽ xảy ra khi chúng tôi sử dụng các ký tự

Ví dụ

for i in range[10]:
    print[i, end =" "]
7

đầu ra

for i in range[10]:
    print[i, end =" "]
8

Nó đưa ra một lỗi nói rằng một chuỗi không thể được hiểu là một số nguyên

Để lấy danh sách các bảng chữ cái, bạn có thể tùy chỉnh mã và nhận đầu ra mong muốn như hình bên dưới

Ví dụ

for i in range[10]:
    print[i, end =" "]
9

đầu ra

0 1 2 3 4 5 6 7 8 9
0

Cách truy cập các phần tử phạm vi

Bạn có thể sử dụng vòng lặp for để lấy các giá trị từ phạm vi hoặc sử dụng chỉ mục để truy cập các phần tử từ phạm vi[]

Sử dụng vòng lặp for

Ví dụ

0 1 2 3 4 5 6 7 8 9
1

đầu ra

0 1 2 3 4 5 6 7 8 9
2

Sử dụng chỉ mục

Chỉ mục được sử dụng với phạm vi để nhận giá trị có sẵn tại vị trí đó. Nếu giá trị phạm vi là 5, để lấy giá trị bắt đầu, bạn có thể sử dụng phạm vi [5] [0] và phạm vi giá trị tiếp theo [5] [1], v.v.

Ví dụ

0 1 2 3 4 5 6 7 8 9
3

đầu ra

0 1 2 3 4 5 6 7 8 9
3

Sử dụng danh sách[]

Phương thức này sẽ in tất cả các phần tử từ phạm vi []. Sử dụng danh sách [] nó sẽ trả về các phần tử từ phạm vi [] ở định dạng danh sách

Ví dụ

for i in range[10]:
    print[i, end =" "]
5

đầu ra

0 1 2 3 4 5 6 7 8 9
6

Nó cung cấp đầu ra danh sách cho phạm vi nhất định

Ví dụ. Nhận số chẵn bằng cách sử dụng phạm vi []

Sử dụng phạm vi [] sẽ nhận được danh sách các số chẵn trong phạm vi được cung cấp làm đầu vào. Các tham số cho phạm vi [] là, bắt đầu là 2, dừng là 20 và bước là 2, vì vậy các giá trị sẽ được tăng thêm 2 và sẽ cho các số chẵn cho đến khi dừng 2

Ví dụ

0 1 2 3 4 5 6 7 8 9
7

đầu ra

0 1 2 3 4 5 6 7 8 9
8

Hợp nhất các đầu ra hai phạm vi []

Trong ví dụ này sẽ nối 2 hàm range[] với sự trợ giúp của hàm itertools module chain[]

Ví dụ

0 1 2 3 4 5 6 7 8 9
9

đầu ra

for i in range[3, 10]:
    print[i, end =" "]
0

Sử dụng phạm vi [] Với NumPy

Mô-đun NumPy có chức năng arange[] hoạt động và cho đầu ra tương tự như phạm vi[]. sắp xếp [] có cùng tham số như phạm vi []

cú pháp

for i in range[3, 10]:
    print[i, end =" "]
1

Để làm việc với NumPy, hãy làm theo các bước dưới đây

Bước 1. Nhập mô-đun NumPy

for i in range[3, 10]:
    print[i, end =" "]
2

Trường hợp trong khi thực hiện nó báo lỗi không tìm thấy mô-đun numpy, bạn cần cài đặt mô-đun như trong bước 2

Bước 2. Cài đặt NumPy

for i in range[3, 10]:
    print[i, end =" "]
3

Bước 3. Ví dụ hoạt động của arange[] sử dụng NumPy

for i in range[3, 10]:
    print[i, end =" "]
4

đầu ra

0 1 2 3 4 5 6 7 8 9

Số dấu phẩy động sử dụng NumPy arange[]

Không thể lấy chuỗi dấu phẩy động bằng phạm vi [], nhưng có thể sử dụng NumPy arange []

Ví dụ

Phạm vi mà chúng tôi muốn là từ 0. 5 đến 1. 5. Giá trị sẽ tăng thêm 0. 2

for i in range[3, 10]:
    print[i, end =" "]
6

đầu ra

for i in range[3, 10]:
    print[i, end =" "]
7

Đầu ra chúng tôi nhận được hơi lạ, một số số float được hiển thị với 16 chữ số thập phân. Điều này xảy ra do sự phức tạp của việc lưu trữ các số thực thập phân thành định dạng nhị phân. Bạn cũng có thể làm tròn các giá trị nếu cần và giới hạn chúng ở vị trí thập phân mà bạn cần

Tôi có thể sử dụng 2 biến trong vòng lặp for Python không?

Cách sử dụng nhiều biến trong vòng lặp for. Sử dụng hàm zip để nhóm nhiều lần lặp thành bộ. Sử dụng vòng lặp for để lặp qua đối tượng zip. Giải nén các mục của mỗi bộ thành các biến .

Vòng lặp for có thể có hai đối số không?

Với hai đối số trong hàm phạm vi, chuỗi bắt đầu ở giá trị đầu tiên và kết thúc một giá trị trước đối số thứ hai. Các lập trình viên sử dụng x hoặc i làm biến bước.

Chúng ta có thể sử dụng phạm vi trong vòng lặp không?

vòng lặp for lặp lại một khối mã cho tất cả các giá trị trong danh sách, mảng, chuỗi hoặc phạm vi[]. Chúng ta có thể sử dụng một phạm vi [] để đơn giản hóa việc viết vòng lặp for . Giá trị dừng của phạm vi [] phải được chỉ định, nhưng chúng ta cũng có thể sửa đổi giá trị bắt đầu và bước giữa các số nguyên trong phạm vi [].

Chủ Đề