Cấu trúc dữ liệu: [7 bài tập với giải pháp]
[Một trình soạn thảo có sẵn ở cuối trang để viết và thực thi các tập lệnh.]
1. Viết một chương trình Python để xác định vị trí điểm chèn bên trái cho một giá trị được chỉ định theo thứ tự được sắp xếp. Truy cập đầu ra dự kiến của biên tập viên: 4 2 Nhấp vào tôi để xem giải pháp mẫu Write a Python program to locate the left insertion point for a specified value in sorted order.
Go to the editor
Expected Output:
4
2
Click me to see the sample solution
2. Viết một chương trình Python để xác định vị trí điểm chèn phù hợp cho một giá trị được chỉ định theo thứ tự được sắp xếp. Truy cập đầu ra dự kiến của biên tập viên: 3 2 Nhấp vào tôi để xem giải pháp mẫu Write a Python program to locate the right insertion point for a specified value in sorted order. Go to the editor
Expected Output:
3
2
Click me to see the sample solution
3. Viết một chương trình Python để chèn các mục vào một danh sách theo thứ tự được sắp xếp. Truy cập đầu ra dự kiến của Biên tập , 69, 78] Nhấp vào tôi để xem giải pháp mẫu Write a Python program to insert items into a list in sorted order.
Go to the editor
Expected Output:
Original List:
[25, 45, 36, 47, 69, 48, 68, 78, 14, 36]
Sorted List:
[14, 25, 36, 36, 45, 47, 48, 68, 69, 78]
Click me to see the sample solution
4. Viết chương trình Python để tạo hàng đợi và hiển thị tất cả các thành viên và kích thước của hàng đợi. Chuyển đến trình soạn thảo đầu ra dự kiến: Thành viên của hàng đợi: 0 1 2 3 Kích thước của hàng đợi: 4 Nhấp vào tôi để xem giải pháp mẫu
Write a Python program to create a queue and display all the members and size of the queue. Go to the editor
Expected Output:
Members of the queue:
0 1 2 3
Size of the queue:
4
Click me to see the
sample solution
5. Viết một chương trình Python để tìm thấy một hàng đợi có trống hay không. Chuyển đến trình soạn thảo đầu ra dự kiến: Đúng sai Nhấp vào tôi để xem giải pháp mẫu Write a Python program to find whether a queue is empty or not. Go to the editor
Expected Output:
True
False
Click me to see the sample solution
6. Viết một chương trình Python để tạo hàng đợi FIFO. Truy cập đầu ra dự kiến của biên tập viên: 0 1 2 3 Nhấp vào tôi để xem giải pháp mẫu
Write a Python program to create a FIFO queue. Go to the editor
Expected Output:
0 1 2 3
Click me to see the sample solution
7. Viết một chương trình Python để tạo hàng đợi LIFO. Truy cập đầu ra dự kiến của biên tập viên: 3 2 1 0 Nhấp vào tôi để xem giải pháp mẫu Write a Python program to create a LIFO queue.
Go to the editor
Expected Output:
3 2 1 0
Click me to see the sample solution
Trình chỉnh sửa mã Python:
Nhiều hơn nữa sẽ đến!
Không gửi bất kỳ giải pháp nào cho các bài tập trên tại đây, nếu bạn muốn đóng góp vào trang tập thể dục phù hợp.
Kiểm tra các kỹ năng Python của bạn với bài kiểm tra của W3Resource
Bài tập cấu trúc dữ liệu này là để người mới bắt đầu hiểu và thực hành cấu trúc dữ liệu cơ bản trong Python. Thực hành danh sách Python, đặt, từ điển và câu hỏi tuple.
Cấu trúc dữ liệu được sử dụng rộng rãi để giữ bất kỳ dữ liệu nào. Để thực hiện bất kỳ nhiệm vụ lập trình nào trong Python, kiến thức tốt về cấu trúc dữ liệu là phải.
Giải quyết bài tập này để hiểu rõ về cấu trúc dữ liệu cơ bản trong Python
Bài tập này bao gồm các phần sau
- Bài tập chứa 10 câu hỏi và giải pháp được cung cấp cho mỗi câu hỏi10 questions and solution provided for each question
- Câu hỏi bao gồm Danh sách Thao tác, Từ điển, Bộ và Phương pháp Tuple.
Sử dụng biên tập mã trực tuyến để giải quyết các câu hỏi tập thể dục. Online Code Editor to solve exercise questions.
Bài tập 1: Tạo một danh sách bằng cách chọn một mục chỉ số kỳ lạ từ danh sách đầu tiên và thậm chí các mục chỉ mục từ phần thứ hai
Đưa ra hai danh sách, L1 và L2, hãy viết một chương trình để tạo danh sách thứ ba L3 bằng cách chọn một phần tử chỉ số lẻ từ danh sách L1 và thậm chí các phần tử chỉ mục từ danh sách L2.
Given::
l1 = [3, 6, 9, 12, 15, 18, 21]
l2 = [4, 8, 12, 16, 20, 24, 28]
Đầu ra dự kiến::
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]
Hiển thị giải pháp
Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt
list1 = [54, 44, 27, 79, 91, 41]
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.Ví dụ: biểu thức
list1 = [54, 44, 27, 79, 91, 41]
1 trả về phần của danh sách từ chỉ mục bắt đầu đến chỉ mục dừng, ở bước kích thước bước.- cho danh sách đầu tiên: Bắt đầu từ chỉ mục đầu tiên với giá trị bước 2 vì vậy nó sẽ chọn các phần tử có mặt tại INDEX 1, 3, 5, v.v.
- Đối với danh sách thứ 2: Bắt đầu từ chỉ mục 0 với giá trị bước 2, vì vậy nó sẽ chọn các phần tử có mặt tại INDEX 0, 2, 4, v.v.
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
Bài tập 2: Xóa và thêm mục trong danh sách
Viết một chương trình để xóa mục có mặt tại INDEX 4 và thêm nó vào vị trí thứ 2 và ở cuối danh sách.
Given::
list1 = [54, 44, 27, 79, 91, 41]
Đầu ra dự kiến::
List After removing element at index 4 [34, 54, 67, 89, 43, 94] List after Adding element at index 2 [34, 54, 11, 67, 89, 43, 94] List after Adding element at last [34, 54, 11, 67, 89, 43, 94, 11]
Hiển thị giải pháp
Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt
list1 = [54, 44, 27, 79, 91, 41]
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.Hiển thị giải pháp
- Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.list1 = [54, 44, 27, 79, 91, 41]
- Ví dụ: biểu thức
1 trả về phần của danh sách từ chỉ mục bắt đầu đến chỉ mục dừng, ở bước kích thước bước.list1 = [54, 44, 27, 79, 91, 41]
- cho danh sách đầu tiên: Bắt đầu từ chỉ mục đầu tiên với giá trị bước 2 vì vậy nó sẽ chọn các phần tử có mặt tại INDEX 1, 3, 5, v.v.
sample_list = [34, 54, 67, 89, 11, 43, 94]
print["Original list ", sample_list]
element = sample_list.pop[4]
print["List After removing element at index 4 ", sample_list]
sample_list.insert[2, element]
print["List after Adding element at index 2 ", sample_list]
sample_list.append[element]
print["List after Adding element at last ", sample_list]
Đối với danh sách thứ 2: Bắt đầu từ chỉ mục 0 với giá trị bước 2, vì vậy nó sẽ chọn các phần tử có mặt tại INDEX 0, 2, 4, v.v.
Given::
sample_list = [11, 45, 8, 23, 14, 12, 78, 45, 89]
Bài tập 2: Xóa và thêm mục trong danh sách:
Chunk 1 [11, 45, 8] After reversing it [8, 45, 11] Chunk 2 [23, 14, 12] After reversing it [12, 14, 23] Chunk 3 [78, 45, 89] After reversing it [89, 45, 78]
Hiển thị giải pháp
- Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.list1 = [54, 44, 27, 79, 91, 41]
- Ví dụ: biểu thức
1 trả về phần của danh sách từ chỉ mục bắt đầu đến chỉ mục dừng, ở bước kích thước bước.list1 = [54, 44, 27, 79, 91, 41]
Hiển thị giải pháp
- Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.list1 = [54, 44, 27, 79, 91, 41]
- Ví dụ: biểu thức
1 trả về phần của danh sách từ chỉ mục bắt đầu đến chỉ mục dừng, ở bước kích thước bước.list1 = [54, 44, 27, 79, 91, 41]
- cho danh sách đầu tiên: Bắt đầu từ chỉ mục đầu tiên với giá trị bước 2 vì vậy nó sẽ chọn các phần tử có mặt tại INDEX 1, 3, 5, v.v.
- Đối với danh sách thứ 2: Bắt đầu từ chỉ mục 0 với giá trị bước 2, vì vậy nó sẽ chọn các phần tử có mặt tại INDEX 0, 2, 4, v.v.
- Bài tập 2: Xóa và thêm mục trong danh sách
sample_list = [11, 45, 8, 23, 14, 12, 78, 45, 89]
print["Original list ", sample_list]
length = len[sample_list]
chunk_size = int[length / 3]
start = 0
end = chunk_size
# run loop 3 times
for i in range[3]:
# get indexes
indexes = slice[start, end]
# get chunk
list_chunk = sample_list[indexes]
print["Chunk ", i, list_chunk]
# reverse chunk
print["After reversing it ", list[reversed[list_chunk]]]
start = end
end += chunk_size
Viết một chương trình để xóa mục có mặt tại INDEX 4 và thêm nó vào vị trí thứ 2 và ở cuối danh sách.
Hiển thị gợi ý
Given::
sample_list = [11, 45, 8, 11, 23, 45, 23, 45, 89]
Đầu ra dự kiến::
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]0
Hiển thị giải pháp
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]1
Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt list1 = [54, 44, 27, 79, 91, 41]
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.
list1 = [54, 44, 27, 79, 91, 41]
Given::
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]2
Đầu ra dự kiến::
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]3
Hiển thị giải pháp
Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt
list1 = [54, 44, 27, 79, 91, 41]
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.Hiển thị giải pháp
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]4
Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt list1 = [54, 44, 27, 79, 91, 41]
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.
list1 = [54, 44, 27, 79, 91, 41]
Ví dụ: biểu thức
1 trả về phần của danh sách từ chỉ mục bắt đầu đến chỉ mục dừng, ở bước kích thước bước.: Python
Set
list1 = [54, 44, 27, 79, 91, 41]
Given::
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]5
Đầu ra dự kiến::
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]6
Hiển thị giải pháp
- Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.list1 = [54, 44, 27, 79, 91, 41]
Hiển thị giải pháp
- Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.list1 = [54, 44, 27, 79, 91, 41]
- Ví dụ: biểu thức
1 trả về phần của danh sách từ chỉ mục bắt đầu đến chỉ mục dừng, ở bước kích thước bước.list1 = [54, 44, 27, 79, 91, 41]
- cho danh sách đầu tiên: Bắt đầu từ chỉ mục đầu tiên với giá trị bước 2 vì vậy nó sẽ chọn các phần tử có mặt tại INDEX 1, 3, 5, v.v.
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]7
Đối với danh sách thứ 2: Bắt đầu từ chỉ mục 0 với giá trị bước 2, vì vậy nó sẽ chọn các phần tử có mặt tại INDEX 0, 2, 4, v.v.
Given::
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]8
Đầu ra dự kiến::
Element at odd-index positions from list one [6, 12, 18] Element at even-index positions from list two [4, 12, 20, 28] Printing Final third list [6, 12, 18, 4, 12, 20, 28]9
Hiển thị giải pháp
Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt
list1 = [54, 44, 27, 79, 91, 41]
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.- Ví dụ: biểu thức
1 trả về phần của danh sách từ chỉ mục bắt đầu đến chỉ mục dừng, ở bước kích thước bước.list1 = [54, 44, 27, 79, 91, 41]
0sample_list = [34, 54, 67, 89, 11, 43, 94] print["Original list ", sample_list] element = sample_list.pop[4] print["List After removing element at index 4 ", sample_list] sample_list.insert[2, element] print["List after Adding element at index 2 ", sample_list] sample_list.append[element] print["List after Adding element at last ", sample_list]
1sample_list = [34, 54, 67, 89, 11, 43, 94] print["Original list ", sample_list] element = sample_list.pop[4] print["List After removing element at index 4 ", sample_list] sample_list.insert[2, element] print["List after Adding element at index 2 ", sample_list] sample_list.append[element] print["List after Adding element at last ", sample_list]
Hiển thị giải pháp
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
0Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt list1 = [54, 44, 27, 79, 91, 41]
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.
list1 = [54, 44, 27, 79, 91, 41]
Given::
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
1Bài tập 2: Xóa và thêm mục trong danh sách:
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
2Hiển thị giải pháp
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
3Để truy cập một loạt các mục trong danh sách, hãy sử dụng toán tử cắt list1 = [54, 44, 27, 79, 91, 41]
0. Với toán tử này, bạn có thể chỉ định nơi bắt đầu cắt, kết thúc và chỉ định bước.
list1 = [54, 44, 27, 79, 91, 41]
Given::
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
4Kết quả dự kiến::
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
5Hiển thị giải pháp
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
6Bài tập 10: Xóa các bản sao khỏi danh sách và tạo một tuple và tìm số lượng tối thiểu và tối đa
Given::
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
7Kết quả dự kiến::
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
8Hiển thị giải pháp
list1 = [3, 6, 9, 12, 15, 18, 21]
list2 = [4, 8, 12, 16, 20, 24, 28]
res = list[]
odd_elements = list1[1::2]
print["Element at odd-index positions from list one"]
print[odd_elements]
even_elements = list2[0::2]
print["Element at even-index positions from list two"]
print[even_elements]
print["Printing Final third list"]
res.extend[odd_elements]
res.extend[even_elements]
print[res]
9