Viết chương trình Python để trích xuất số lượng phần tử được chỉ định từ một danh sách nhất định, nối tiếp nhau liên tục
Giải pháp mẫu
Mã Python
from itertools import groupby
def extract_elements[nums, n]:
result = [i for i, j in groupby[nums] if len[list[j]] == n]
return result
nums1 = [1, 1, 3, 4, 4, 5, 6, 7]
n = 2
print["Original list:"]
print[nums1]
print["Extract 2 number of elements from the said list which follows each other continuously:"]
print[extract_elements[nums1, n]]
nums2 = [0, 1, 2, 3, 4, 4, 4, 4, 5, 7]
n = 4
print["Original lists:"]
print[nums2]
print["Extract 4 number of elements from the said list which follows each other continuously:"]
print[extract_elements[nums2, n]]
Đầu ra mẫu
Original list: [1, 1, 3, 4, 4, 5, 6, 7] Extract 2 number of elements from the said list which follows each other continuously: [1, 4] Original lists: [0, 1, 2, 3, 4, 4, 4, 4, 5, 7] Extract 4 number of elements from the said list which follows each other continuously: [4]
Trình bày bằng hình ảnh
Sơ đồ
Trực quan hóa việc thực thi mã Python
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên
Trình chỉnh sửa mã Python
Có một cách khác để giải quyết giải pháp này?
Trước. Viết chương trình Python để trích xuất kích thước chuỗi được chỉ định từ danh sách các giá trị chuỗi đã cho
Kế tiếp. Viết chương trình Python để tìm sự khác biệt giữa các số liên tiếp trong một danh sách nhất định
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
Theo dõi chúng tôi trên Facebook và Twitter để cập nhật thông tin mới nhất.
con trăn. Lời khuyên trong ngày
Ước chung lớn nhất
Thư viện toán học tiêu chuẩn của Python có các phương thức tuyệt vời giúp thực hiện hầu hết mọi phép tính toán cơ bản một cách dễ dàng. Đây là. phương thức gcd[] hiển thị ước chung lớn nhất
Trong Python, bạn có thể tạo một danh sách mới bằng cách trích xuất, xóa, thay thế hoặc chuyển đổi các phần tử đáp ứng các điều kiện của danh sách hiện có bằng khả năng hiểu danh sách
Bài viết này mô tả các nội dung sau
- Khái niệm cơ bản về hiểu danh sách
- Áp dụng thao tác cho tất cả các phần tử của danh sách
- Trích xuất/xóa các phần tử thỏa mãn điều kiện khỏi danh sách
- Thay thế/chuyển đổi các phần tử thỏa mãn điều kiện trong danh sách
Xem bài viết sau để biết ví dụ về danh sách các chuỗi
- Trích xuất và thay thế các phần tử đáp ứng điều kiện của danh sách chuỗi trong Python
Cũng có thể lấy mẫu ngẫu nhiên các phần tử từ danh sách
- lấy mẫu ngẫu nhiên từ một danh sách trong Python [ngẫu nhiên. lựa chọn, mẫu, lựa chọn]
Lấy danh sách sau đây làm ví dụ
l = list[range[-5, 6]]
print[l]
# [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
nguồn.
Liên kết được tài trợ
Khái niệm cơ bản về hiểu danh sách
Trong Python, bạn có thể tạo một
[expression for variable_name in iterable if condition]
3 bằng cách sử dụng khả năng hiểu danh sách. Nó đơn giản hơn là sử dụng vòng lặp [expression for variable_name in iterable if condition]
4[expression for variable_name in iterable if condition]
[expression for variable_name in iterable if condition]
5 được áp dụng cho các phần tử thỏa mãn [expression for variable_name in iterable if condition]
6 của [expression for variable_name in iterable if condition]
7 [danh sách, bộ, v.v. ] và một danh sách mới được tạo. Có thể bỏ [expression for variable_name in iterable if condition]
8, nếu bỏ, [expression for variable_name in iterable if condition]
5 được áp dụng cho tất cả các phần tửXem bài viết sau để biết chi tiết về hiểu danh sách
- Danh sách hiểu trong Python
Áp dụng thao tác cho tất cả các phần tử của danh sách
Nếu bạn viết thao tác mong muốn trong phần
[expression for variable_name in iterable if condition]
5 của phần hiểu danh sách, thao tác đó sẽ được áp dụng cho tất cả các thành phần của danh sáchl_square = [i**2 for i in l]
print[l_square]
# [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25]
l_str = [str[i] for i in l]
print[l_str]
# ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5']
nguồn.
Bạn có thể sử dụng điều này để chuyển đổi danh sách số thành danh sách chuỗi. Xem chi tiết bài viết sau
- Chuyển đổi danh sách chuỗi và danh sách số với nhau trong Python
Liên kết được tài trợ
Trích xuất/xóa các phần tử thỏa mãn điều kiện khỏi danh sách
Nếu bạn chỉ muốn chọn các phần tử bằng
[expression for variable_name in iterable if condition]
6 thì không cần xử lý bằng [expression for variable_name in iterable if condition]
5, có thể viết như sau[variable_name for variable_name in original_list if condition]
Chỉ các phần tử đáp ứng các điều kiện [các phần tử trả về
l_square = [i**2 for i in l]
print[l_square]
# [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25]
l_str = [str[i] for i in l]
print[l_str]
# ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5']
3 cho [expression for variable_name in iterable if condition]
6] mới được trích xuất và một danh sách mới được tạol_even = [i for i in l if i % 2 == 0]
print[l_even]
# [-4, -2, 0, 2, 4]
l_minus = [i for i in l if i