Truy cập phần tử bằng index trong Python
Truy cập phần tử bằng index trong Python

Hàm range để làm gì trong Python? Ứng dụng và cách sử dụng chi tiết

Hàm range() là một công cụ vô cùng quan trọng và được sử dụng rộng rãi trong Python, đặc biệt khi làm việc với vòng lặp for và đôi khi cả vòng lặp while. Việc hiểu rõ và sử dụng thành thạo range() sẽ mở ra nhiều khả năng trong lập trình Python, từ kiểm soát luồng chương trình đến xử lý dữ liệu.

Hàm range() trong Python là gì?

Hàm range() trả về một chuỗi các số nguyên và là một đối tượng bất biến (immutable), nghĩa là giá trị của nó không thể thay đổi sau khi tạo. Hàm range() có thể nhận một, hai hoặc ba đối số, tương ứng với điểm dừng, điểm bắt đầu và bước nhảy.

Trong Python 3, range() trả về một đối tượng range, trong khi ở Python 2, hàm tương tự là xrange() trả về một đối tượng iterator và tiết kiệm bộ nhớ hơn.

Một trong những ưu điểm của range() là nó chỉ lưu trữ giá trị bắt đầu, dừng và bước, do đó tiết kiệm bộ nhớ hơn so với việc tạo một danh sách đầy đủ các số.

Mục đích sử dụng hàm range() trong Python

Hàm range() cho phép bạn tạo một chuỗi các số trong một phạm vi xác định. Tùy thuộc vào số lượng đối số bạn cung cấp, bạn có thể kiểm soát điểm bắt đầu, điểm kết thúc và khoảng cách giữa các số trong chuỗi. Hàm range() có thể được khởi tạo theo ba cách:

  • range(stop): Lấy một đối số.
  • range(start, stop): Lấy hai đối số.
  • range(start, stop, step): Lấy ba đối số.

Cú pháp hàm range() trong Python

Hàm range() có hai dạng cú pháp chính:

range(stop)
range(start, stop[, step])

Các tham số của hàm range()

Hàm range() nhận ba tham số:

  • start: Số nguyên chỉ định điểm bắt đầu của chuỗi. Giá trị mặc định là 0.
  • stop: Số nguyên chỉ định điểm kết thúc của chuỗi (không bao gồm).
  • step: Số nguyên xác định khoảng cách giữa các số trong chuỗi. Giá trị mặc định là 1.

Giá trị trả về từ range()

  1. Với cú pháp range(stop):

    • Trả về một chuỗi bắt đầu từ 0 đến stop – 1.
    • Trả về một chuỗi rỗng nếu stop có giá trị là 0 hoặc nhỏ hơn 0.
  2. Với cú pháp range(start, stop[, step]):

    • Nếu không có tham số step, step mặc định là 1: trả về một chuỗi bắt đầu từ start và kết thúc ở stop – 1.
    • Nếu step bằng 0, một ngoại lệ ValueError sẽ đượcRaise.
    • Nếu step khác 0, kiểm tra xem các tham số có thỏa mãn điều kiện không.
      • Nếu có, trả về chuỗi theo công thức, bắt đầu từ start, các số cách nhau bằng step, số cuối của chuỗi sẽ nhỏ hơn stop.
      • Nếu không, trả về một chuỗi rỗng.

Ví dụ 1: Cách range() hoạt động với các tham số khác nhau

print(list(range(0)))
print(list(range(10)))
print(list(range(1, 10)))

Kết quả:

[]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Ví dụ 2: Tạo danh sách số chẵn sử dụng range()

start = 2
stop = 14
step = 2
print(list(range(start, stop, step)))

Kết quả:

[2, 4, 6, 8, 10, 12]

Ví dụ 3: range() với bước nhảy âm

start = 2
stop = -14
step = -2
print(list(range(start, stop, step)))
print(list(range(start, 14, step)))

Kết quả:

[2, 0, -2, -4, -6, -8, -10, -12]
[]

Sử dụng range() trong vòng lặp

Hàm range() thường được sử dụng để lặp qua một chuỗi số trong vòng lặp for.

Ví dụ:

for i in range(5):
    print(i)

Kết quả:

0
1
2
3
4

Truy cập phần tử bằng index với range()

Bạn có thể sử dụng index để truy cập các giá trị cụ thể trong đối tượng range().

Truy cập phần tử bằng index trong PythonTruy cập phần tử bằng index trong Python

Ảnh minh họa cách sử dụng index để truy cập giá trị đầu tiên của một range trong Python, ví dụ range(2, 10, 2)[0] sẽ trả về 2.

Ví dụ, với range(2, 10, 2), bạn có thể truy cập giá trị đầu tiên như sau: range(2, 10, 2)[0] sẽ trả về 2. Các giá trị khác có thể được truy cập tương tự.

Những điều cần lưu ý khi sử dụng range()

  • Hàm range() chỉ hoạt động với số nguyên.
  • Tất cả các đối số (start, stop, step) phải là số nguyên.
  • Giá trị step không được bằng 0. Nếu step bằng 0, Python sẽ phát sinh ngoại lệ ValueError.
  • range() là một kiểu dữ liệu trong Python.
  • Bạn có thể truy cập các phần tử trong một range() theo chỉ mục, tương tự như cách bạn làm với một danh sách.

Nắm vững cách sử dụng hàm range() là một bước quan trọng trong việc học lập trình Python. Hi vọng bài viết này đã giúp bạn hiểu rõ hơn về công dụng và cách sử dụng hàm range() một cách hiệu quả.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *