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.
Cải thiện bài viết
Lưu bài viết
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[]
.
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]4
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]5
Đ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
=
[
range
[
________,
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8]
Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]
0,
__12 We can use argument-unpacking operator i.e.
*.
Đầ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 [].
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]4
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]5
Mã 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
My_list
0 function to
unpack the result of range function.My_list
=
[
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]9
range
____________10
,
range[]
4,
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]2
Đầu ra: Như chúng ta có thể thấy trong đầu ra, toán tử phản ứng đối số đã giải nén thành công kết quả của hàm phạm vi. & NBSP; Mã số 2: Chúng ta có thể sử dụng hàm My_list
0 để giải nén kết quả của hàm phạm vi.
My_list
=
My_list
3
=
1=
2range
=
4
=
1=
6
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]4
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]5
My_list
4=
10
,
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8]
Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]
0
Đưa ra một danh sách và một danh sách các bộ dữ liệu với phạm vi, trích xuất tất cả các yếu tố trong các phạm vi từ danh sách.
Đầu vào: test_list = [4, 5, 4, 6, 7, 5, 4, 5, 6, 10], range_list = [[2, 4], [7, 8]] đầu ra: [4, 6, 7, 5, 6] Giải thích: 4, 6, 7 là các yếu tố tại IDX 2, 3, 4 và 5, 6 tại IDX 7, 8. : test_list = [4, 5, 4, 6, 7, 5, 4, 5, 6, 10], range_list = [[2, 4], [7, 8]]
Output : [4, 6, 7, 5, 6]
Explanation : 4, 6, 7 are elements at idx 2, 3, 4 and 5, 6 at idx 7, 8.Đầu vào: test_list = [4, 5, 4, 6, 7, 5, 4, 5, 6, 10], range_list = [[2, 6]] Đầu ra: [4, 6, 7, 5, 4] Giải thích: Các yếu tố từ chỉ số 2-6 được trích xuất. : test_list = [4, 5, 4, 6, 7, 5, 4, 5, 6, 10], range_list = [[2, 6]]
Output : [4, 6, 7, 5, 4]
Explanation : Elements from 2-6 index are extracted.
Phương pháp số 1: Sử dụng Loop + Danh sách cắt & NBSP;
Trong đó, chúng tôi trích xuất từng phạm vi bằng cách sử dụng cắt danh sách và sử dụng vòng lặp lặp cho từng phạm vi và tiếp tục mở rộng các lát cắt để mở rộng danh sách.
Python3
Các
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]4
[
10
2 10
3 10
410
510
6=
10
810
9,
[
22 ____92
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]01
=
My_list
3The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]04
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]05
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]06
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]07
Các
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]4
[
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]19
10
3 10
4The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]22
Đầu ra
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]
Phương pháp #2 & NBSP ;: Sử dụng danh sách hiểu biết
Trong đó, chúng tôi áp dụng phương pháp tương tự như hàm trên, sự khác biệt là sự hiểu biết danh sách được sử dụng để giải quyết vấn đề này ở dạng nhỏ gọn.
Python3
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]23
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]24
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]25
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]26
Các
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]4
[
10
2 10
3 10
410
510
6=
10
810
9,
[
22 ____92
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]01
=
My_list
3The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]4
[
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]19
10
3 10
4The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]22
Đầu ra
The original list is : [4, 5, 4, 6, 7, 5, 4, 5, 4, 6, 4, 6, 9, 8] Ranges elements : [4, 6, 7, 5, 4, 4, 6, 9]