Tôi có một danh sách các giá trị Unicode. Theo hiểu biết tốt nhất của tôi, tôi có thể sử dụng danh sách [Vị trí bắt đầu: Độ dài để chọn] để chọn một phạm vi giá trị từ danh sách, phải không?
Tôi có một danh sách 78 giá trị Unicode, không phải là tất cả duy nhất. Khi tôi chọn phạm vi 5 giá trị bắt đầu từ vị trí 0 trong danh sách [ví dụ: list [0: 5]] Các giá trị chính xác được trả về. Tuy nhiên, khi tôi cố gắng chọn một loạt các giá trị không bắt đầu ở vị trí 0 trong danh sách [ví dụ: list [44: 5]] thì việc trả về là []. Thay đổi độ dài của phạm vi dường như không tạo ra bất kỳ sự khác biệt nào. Hơn nữa, nếu tôi sử dụng danh sách [44], ví dụ, giá trị được trả về là chính xác.
Tôi không hiểu tại sao tôi không thể chọn từ danh sách khi con trỏ không được đặt ở mức 0. Có ai có thể cho tôi biết nếu danh sách trong Python có giới hạn về cách dữ liệu có thể được truy xuất dưới dạng phạm vi không? Tôi hy vọng vấn đề và câu hỏi của tôi đủ rõ ràng. Tôi sẽ đánh giá cao bất kỳ thông tin phản hồi. Cảm ơn.
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
Thông thường, chúng tôi muốn tạo một danh sách chứa một giá trị liên tục như, trong phạm vi 100-200. Hãy để thảo luận về cách tạo một danh sách bằng hàm range[]
.
range[start, stop, step]
9# 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]] # []
0Điều này sẽ hoạt động?
As we can see in the output, the result is not exactly what we were expecting because Python does not unpack the result of the range[] function.
My_list
=
0range[start, stop, step]
1range[start, stop, step]
2range[start, stop, step]
3range[start, stop, step]
4range[start, stop, step]
5range[start, stop, step]
4range[start, stop, step]
7range[start, stop, step]
8 We can use argument-unpacking operator i.e. *.range[start, stop, step]
Đầu ra: Như chúng ta có thể thấy trong đầu ra, kết quả không chính xác là những gì chúng ta mong đợi vì Python không giải nén kết quả của hàm phạm vi [].
range[start, stop, step]
9# 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]] # []
0Mã số 1: Chúng ta có thể sử dụng toán tử đối số-unpacking, tức là *.
As we can see in the output, the argument-unpacking operator has successfully unpacked the result of the range function.
Code #2 : We can use the
# 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]] # []
5 function to unpack the result of range function.My_list
=
# 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]] # []
8# 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]] # []
9=
range[start, stop, step]
3range[start, stop, step]
4range[start, stop, step]
5# 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]
4 # 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]
5# 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]
6# 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]
7range[start, stop, step]
1# 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]
9# 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]
6# iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
1range[start, stop, step]
9# 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]] # []
0Đầu ra:
Hàm range[]
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 ý: range[]
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. range[]
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 range[]
có thể mất tối đa ba đối số:
range[start, stop, step]
Các tham số
# iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
7 và # iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
8 trong range[]
là tùy chọn.Bâ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 vượt qua đối số
0 Hello 1 Hello 2 Hello 3 Hello 4 Hello2.
Trong trường hợp này, range[]
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 range[]
, điều đó có nghĩa là chúng ta đang thông qua các đối số
# iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
7 và 0 Hello 1 Hello 2 Hello 3 Hello 4 Hello2.
Trong trường hợp này, range[]
trả về một chuỗi các số bắt đầu từ
# iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
7 [bao gồm] lên đến 0 Hello 1 Hello 2 Hello 3 Hello 4 Hello2 [độ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à
7# iterate the loop 5 times for i in range[5]: print[i, 'Hello']
- Đối số thứ hai là
0 Hello 1 Hello 2 Hello 3 Hello 4 Hello
2 - Đối số thứ ba là
8# iterate the loop 5 times for i in range[5]: print[i, 'Hello']
Đối số
# iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
8 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
7 là 0 và giá trị mặc định của # iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
8 là 1. Đó là lý do tại sao # iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
range[]
6 tương đương với range[]
7. The default value of
# iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
7 is 0,
and the default value of # iterate the loop 5 times
for i in range[5]:
print[i, 'Hello']
8 is 1. That's why range[]
6 is equivalent to range[]
7.phạm vi [] trong vòng lặp
Hàm range[]
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