Hướng dẫn how do you check range in python? - làm thế nào để bạn kiểm tra phạm vi trong python?

Trong khi

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
8 hoạt động trong Python, tôi thấy ký hiệu này bằng cách sử dụng
>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 dễ đọc hơn:

if number in range(10, 21):
    print("number is between 10 (inclusive) and 21 (exclusive)")
else:
    print("outside of range!")

Hãy nhớ rằng tham số giới hạn thứ 2, trên không được bao gồm trong tập hợp phạm vi như có thể được xác minh bằng:

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

Tuy nhiên, chỉ thích cách tiếp cận

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 nếu nó không chạy trên một số đường dẫn quan trọng hiệu suất. Một cuộc gọi duy nhất vẫn đủ nhanh cho hầu hết các yêu cầu, nhưng nếu chạy 10.000.000 lần, chúng tôi nhận thấy rõ hiệu suất chậm hơn gần 3 lần so với
> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
1:

> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630

Hàm

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 trả về một chuỗi các số giữa phạm vi cho.

Thí dụ

# create a sequence of numbers from 0 to 3
numbers = range(4)

# iterating through the sequence of numbers
for i in numbers:
    print(i)

# Output:

# 0
# 1
# 2
# 3

Lưu ý:

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 Trả về một chuỗi các 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.
>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 returns an immutable sequence of numbers that can be easily converted to lists, tuples, sets etc.


Cú pháp của phạm vi ()

Hàm

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 có thể mất tối đa ba đối số:

range(start, stop, step)

Các tham số

> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
5 và
> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
6 trong
>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 là tùy chọn.

Bây giờ, hãy xem cách

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 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

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9, điều đó có nghĩa là chúng ta đang thông qua đối số
# create a sequence of numbers from 0 to 3
numbers = range(4)

# iterating through the sequence of numbers
for i in numbers:
    print(i)

# Output:

# 0
# 1
# 2
# 3
0.

Trong trường hợp này,

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 trả về một chuỗi các số bắt đầu từ 0 đến số (nhưng không bao gồm số).0 up to the number (but not including the number).

# 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

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9, điều đó có nghĩa là chúng ta đang thông qua các đối số
> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
5 và
# create a sequence of numbers from 0 to 3
numbers = range(4)

# iterating through the sequence of numbers
for i in numbers:
    print(i)

# Output:

# 0
# 1
# 2
# 3
0.

Trong trường hợp này,

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 trả về một chuỗi các số bắt đầu từ
> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
5 (bao gồm) cho đến
# create a sequence of numbers from 0 to 3
numbers = range(4)

# iterating through the sequence of numbers
for i in numbers:
    print(i)

# Output:

# 0
# 1
# 2
# 3
0 (độc quyền).

# 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à
    > { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
    1.848
    
    > { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
    0.630
    
    5
  • Đối số thứ hai là
    # create a sequence of numbers from 0 to 3
    numbers = range(4)
    
    # iterating through the sequence of numbers
    for i in numbers:
        print(i)
    
    # Output:
    
    # 0
    # 1
    # 2
    # 3
    
    0
  • Đối số thứ ba là
    > { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
    1.848
    
    > { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
    0.630
    
    6

Đối số

> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
6 chỉ định sự gia tăng giữa hai số trong chuỗi.

# 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]

Lưu ý: Giá trị mặc định của

> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
5 là 0 và giá trị mặc định của
> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
6 là 1. Đó là lý do tại sao
range(start, stop, step)
4 tương đương với
range(start, stop, step)
5.
The default value of
> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
5 is 0, and the default value of
> { time python3 -c "for i in range(10000000): x = 50 in range(1, 100)"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
1.848

> { time python3 -c "for i in range(10000000): x = 1 <= 50 < 100"; } 2>&1 | sed -n 's/^.*cpu \(.*\) total$/\1/p'
0.630
6 is 1. That's why
range(start, stop, step)
4 is equivalent to
range(start, stop, step)
5.


phạm vi () trong vòng lặp

Hàm

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
9 thường được sử dụng trong vòng lặp để lặp lại vòng lặp một số lần nhất định. Ví dụ,

# iterate the loop 5 times
for i in range(5):
    print(i, 'Hello')
0 Hello
1 Hello
2 Hello
3 Hello
4 Hello

Hướng dẫn này cung cấp cho bạn nhiều phương thức để kiểm tra xem số nguyên có nằm trong phạm vi đã cho hay không. Nó bao gồm một số ví dụ để mang lại sự rõ ràng.

Trước tiên, hãy xác định vấn đề. Chúng tôi muốn xác minh xem giá trị số nguyên nằm giữa hai số khác, ví dụ: 1000 và 7000:

Vì vậy, chúng tôi cần một phương pháp đơn giản có thể cho chúng tôi biết về bất kỳ giá trị số nào nếu nó thuộc về một phạm vi nhất định. Do đó, trong bài đăng này, chúng tôi sẽ mô tả ba cách giải quyết vấn đề này. Bạn có thể chọn cái nào phù hợp với bạn là tốt nhất.

Hai trong số các phương pháp này hoạt động trong Python 3 và phương pháp thứ ba là cụ thể cho Python 2.7.

Python | Kiểm tra số nguyên trong phạm vi hoặc giữa hai số

Bây giờ, hãy để mở ra tất cả ba cách để kiểm tra xem số nguyên có nằm trong phạm vi hay không.

Sử dụng toán tử so sánh Python

Trong lập trình Python, chúng ta có thể sử dụng các toán tử so sánh để kiểm tra xem giá trị có cao hơn hay ít hơn so với giá trị khác không. Và sau đó, chúng ta có thể thực hiện một số hành động dựa trên kết quả.

Bài viết dưới đây xác định các toán tử so sánh tích hợp có sẵn trong Python.

Các nhà khai thác Python

Bây giờ, hãy xem một mã mẫu để xem cách sử dụng các toán tử so sánh.

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
0

Chúng tôi đã viết một chức năng để kiểm tra xem số đầu vào có nằm trong phạm vi đã cho hay không. Nó đang sử dụng cú pháp toán tử so sánh sau:

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
1

Ngoài ra, chúng tôi đã chuẩn bị dữ liệu thử nghiệm trong một danh sách cho phù hợp. Chúng tôi muốn kiểm tra tất cả các trường hợp +VE và cạnh là tốt. Do đó, chúng tôi đã thực hiện danh sách đầu vào kiểm tra, như được hiển thị bên dưới:

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
2

Danh sách này giúp chúng tôi chạy một số trường hợp kiểm tra thường xuyên, kiểm tra ranh giới trên và dưới. Vì vậy, khi chúng tôi chạy chương trình trên, nó sẽ nhận được kết quả sau:

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
3

Phạm vi Python () để kiểm tra số nguyên ở giữa hai số

Chúng tôi cũng có thể sử dụng chức năng phạm vi Python thực hiện công việc này cho chúng tôi. Nó có thể dễ dàng xác định xem số nguyên có nằm giữa hai số hay không.Python range function that does this job for us. It can quite easily identify if the integer lies between two numbers or not.

Vui lòng kiểm tra ví dụ sau:

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
4

Ở đây, chúng tôi đã gọi hàm phạm vi () bao gồm phạm vi thấp hơn (x) nhưng loại bỏ giá trị cạnh, tức là, Y.

Do đó, khi bạn thực thi mã trên, nó sẽ dẫn đến đầu ra dưới đây:

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
5

Python xrange () để kiểm tra số nguyên ở giữa hai số

Phương pháp này (xrange ()) sẽ chỉ hoạt động trong Python 2.7 trở xuống. Nhưng vì Python 2.7 vẫn còn được sử dụng, vì vậy chúng tôi đang đưa ra một ví dụ tương tự.

Vui lòng xem đoạn mã mã dưới đây bằng hàm Python Xrange:Python xrange function:

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
6

Đây là đầu ra mà bạn sẽ nhận được sau khi chạy chương trình trên.

>>> list(range(10, 21))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
7

Đầu ra của xrange () gần như giống hệt với phạm vi () đã cho chúng ta.

Chúng tôi hy vọng rằng sau khi kết thúc hướng dẫn này, bạn nên biết cách kiểm tra xem một số nguyên có nằm ở giữa hai số hay không. Tuy nhiên, bạn có thể thực hành nhiều hơn với các ví dụ để có được sự tự tin.

Ngoài ra, để học Python từ đầu đến chiều sâu, hãy đọc hướng dẫn Python từng bước của chúng tôi.Python tutorial.

Làm thế nào để bạn tìm thấy phạm vi trong Python?

Hàm python () trả về một chuỗi các số, trong một phạm vi nhất định ...
Phạm vi (dừng) có 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) thực hiện ba đối số ..

Làm thế nào để bạn kiểm tra xem một số nằm trong một phạm vi?

Nếu x nằm trong phạm vi, thì nó phải lớn hơn hoặc bằng thấp, tức là, (X-low)> = 0. và phải nhỏ hơn hoặc bằng cao, tức là (cao-x). And must be smaller than or equal to high i.e., (high – x) <= 0. So if result of the multiplication is less than or equal to 0, then x is in range.

Làm thế nào để bạn tìm thấy phạm vi của một số trong danh sách Python?

Python đi kèm với một phạm vi hàm trực tiếp () tạo ra một chuỗi các số từ đầu đến dừng giá trị và in từng mục trong chuỗi.Chúng tôi sử dụng phạm vi () với R1 và R2 và sau đó chuyển đổi trình tự thành danh sách.use range() with r1 and r2 and then convert the sequence into list.

Làm thế nào để bạn tìm thấy phạm vi của một danh sách?

Phạm vi là sự khác biệt giữa các số nhỏ nhất và cao nhất trong danh sách hoặc tập hợp.Để tìm phạm vi, trước tiên hãy đặt tất cả các số theo thứ tự. Sau đó trừ (lấy đi) số thấp nhất từ cao nhất.Câu trả lời cung cấp cho bạn phạm vi của danh sách.first put all the numbers in order. Then subtract (take away) the lowest number from the highest. The answer gives you the range of the list.