Cách trích xuất danh sách từ danh sách trong Python

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 giá trị chuỗi đã cho.
Tiếp theo. 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



con trăn. Lời khuyên trong ngày

Chuỗi và bộ dữ liệu là bất biến

Điều này đã được đề cập ở điểm trước nhưng muốn nhấn mạnh nó vì điều này khá quan trọng

Cho một danh sách các danh sách, hãy viết chương trình Python để trích xuất phần tử đầu tiên của mỗi danh sách con trong danh sách các danh sách đã cho. ví dụ

Input : [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
Output : [1, 3, 6]

Input : [['x', 'y', 'z'], ['m'], ['a', 'b'], ['u', 'v']]
Output : ['x', 'm', 'a', 'u']

Cách tiếp cận số 1. hiểu danh sách

Python3




[1, 3, 6]
0

[1, 3, 6]
1

 

[1, 3, 6]
2
[1, 3, 6]
3

[1, 3, 6]
4
[1, 3, 6]
5
[1, 3, 6]
0
[1, 3, 6]
1
[1, 3, 6]
2
[1, 3, 6]
3
[1, 3, 6]
4
[1, 3, 6]
5
[1, 3, 6]
6

[1, 3, 6]
4

[1, 3, 6]
8

[1, 3, 6]
9
[1, 3, 6]
0
[1, 3, 6]
1
[1, 3, 6]
2
[1, 3, 6]
3
[1, 3, 6]
4
[1, 3, 6]
5
[1, 3, 6]
6
[1, 3, 6]
3
[1, 3, 6]
8
[1, 3, 6]
3
[1, 3, 6]
0
[1, 3, 6]
5
[1, 3, 6]
2
[1, 3, 6]
3
[1, 3, 6]
4
[1, 3, 6]
3
[1, 3, 6]
6
[1, 3, 6]
3
[1, 3, 6]
8
[1, 3, 6]
9

Đưa ra một danh sách, nhiệm vụ là viết Chương trình Python để trích xuất tất cả các phần tử có số lần xuất hiện khớp với nó trong tập hợp

Đầu vào. test_list = [5, 6, 2, 3, 2, 6, 5, 8, 9], search_set = {6, 2, 8}

đầu ra. [6, 2, 2, 6, 8]

Giải trình. 2, 6 xảy ra hai lần và theo thứ tự đối với các phần tử khác là đầu ra

Đầu vào. test_list = [5, 6, 2, 3, 2, 6, 5, 8, 9], search_set = {8, 3, 5}

đầu ra. [5, 3, 5, 8]

Giải trình. 5 xảy ra hai lần và theo thứ tự đối với các phần tử khác là đầu ra

Phương pháp số 1. Sử dụng vòng lặp

Trong phần này, mỗi phần tử danh sách được lặp lại và kiểm tra sự hiện diện của nó trong tập hợp bằng toán tử in và được thêm vào kết quả nếu tìm thấy.  

Python3




[1, 3, 6]
7

[1, 3, 6]
8

[1, 3, 6]
9

 

[1, 3, 6]
0

[1, 3, 6]
1
[1, 3, 6]
2
[1, 3, 6]
3_______320
[1, 3, 6]
21
[1, 3, 6]
22
[1, 3, 6]
21
[1, 3, 6]
24
[1, 3, 6]
21
[1, 3, 6]
26
[1, 3, 6]
21
[1, 3, 6]
24
[1, 3, 6]
21
[1, 3, 6]
22
[1, 3, 6]
21
[1, 3, 6]
20
[1, 3, 6]
21
[1, 3, 6]
64
[1, 3, 6]
21
[1, 3, 6]
66
[1, 3, 6]
67

Chủ Đề