Danh sách lát Python mỗi x mục

Một trong những cấu trúc dữ liệu Python có thể chứa các phần tử hoặc giá trị hỗn hợp bên trong nó được gọi là danh sách. Bài viết này sẽ giới thiệu nhiều cách khác nhau để chia danh sách thành nhiều phần. Bạn có thể sử dụng bất kỳ ví dụ mã nào phù hợp với thông số kỹ thuật của mình

Chia danh sách trong Python thành Chunks bằng phương pháp hiểu danh sách

Chúng ta có thể sử dụng khả năng hiểu danh sách để chia danh sách Python thành nhiều phần. Đó là một cách hiệu quả để đóng gói các hoạt động để làm cho mã dễ hiểu hơn

Mã ví dụ hoàn chỉnh được đưa ra dưới đây

test_list = ['1','2','3','4','5','6','7','8','9','10']

n=3

output=[test_list[i:i + n] for i in range[0, len[test_list], n]]
print[output]

đầu ra

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
2 trả về một dãy số bắt đầu từ 0 và kết thúc tại
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
3 với bước là
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
4. Ví dụ,
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
5 sẽ trả về
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
6

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
7 lấy đoạn danh sách bắt đầu từ chỉ mục
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
8 và kết thúc độc quyền tại
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
9. Đoạn cuối cùng của danh sách phân tách là
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
0, nhưng các chỉ số được tính toán
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
1 sẽ không gây ra lỗi nhưng bằng với
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
0

Phương pháp này cung cấp một trình tạo phải được lặp lại bằng vòng lặp

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
3. Trình tạo là một cách hiệu quả để mô tả một trình vòng lặp

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]

đầu ra

['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10', 'x', 'x']

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
4 tạo một trình vòng lặp và lặp lại
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
4 lần trong danh sách. Sau đó, một lượt quay vòng của mọi trình lặp được thực hiện một cách hiệu quả bởi
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
6;

Tách danh sách trong Python thành các khối bằng hàm
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
7

Có thể sử dụng hàm

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
7 cơ bản để chia danh sách thành một kích thước nhất định hoặc các phần nhỏ hơn. Hàm này hoạt động trên danh sách ban đầu và biến có kích thước N, lặp lại trên tất cả các mục trong danh sách và chia nó thành các phần có kích thước N

Mã ví dụ hoàn chỉnh được đưa ra dưới đây

test_list = ['1','2','3','4','5','6','7','8','9','10']

x = 3

final_list= lambda test_list, x: [test_list[i:i+x] for i in range[0, len[test_list], x]]

output=final_list[test_list, x]

print['The Final List is:', output]

đầu ra

The Final List is: [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]

Tách danh sách trong Python thành các khối bằng phương pháp
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
7 &
['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10', 'x', 'x']
0

Hàm

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements[n, iterable, padvalue='x']:
    return zip_longest[*[iter[iterable]]*n, fillvalue=padvalue]

for output in group_elements[3,test_list]:
    print[output]
7 có thể được sử dụng với hàm
['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10', 'x', 'x']
0 và tạo một trình tạo lặp qua danh sách. Hàm
['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10', 'x', 'x']
0 tạo một iterator trích xuất các mục đã chọn từ iterable. Nếu bắt đầu khác không, các phần tử có thể lặp lại sẽ bị bỏ qua trước khi bắt đầu. Các phần tử sau đó được trả về liên tiếp trừ khi một bước được đặt cao hơn bước dẫn đến việc bỏ qua các mục

Mã ví dụ hoàn chỉnh được đưa ra dưới đây

from itertools import islice

test_list = ['1','2','3','4','5','6','7','8','9','10']

def group_elements[lst, chunk_size]:
    lst = iter[lst]
    return iter[lambda: tuple[islice[lst, chunk_size]], []]

for new_list in group_elements[test_list , 3]:
    print[new_list]

đầu ra

['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10',]

Tách danh sách trong Python thành Chunks bằng phương pháp
['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10', 'x', 'x']
4

Thư viện

['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10', 'x', 'x']
4 cũng có thể được sử dụng để chia danh sách thành các phần có kích thước N. Hàm
['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10', 'x', 'x']
6 chia mảng thành các mảng con có kích thước cụ thể
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
4

Mã ví dụ hoàn chỉnh được đưa ra dưới đây

import numpy

n = numpy.arange[11]

final_list = numpy.array_split[n,4];
print["The Final List is:", final_list]

Hàm

['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10', 'x', 'x']
8 sắp xếp các giá trị theo đối số đã cho và hàm
['1', '2', '3']
['4', '5', '6']
['7', '8', '9']
['10', 'x', 'x']
6 tạo danh sách/mảng con dựa trên tham số được cho trong đó dưới dạng tham số

đầu ra

The Final List is: [array[[0, 1, 2]], array[[3, 4, 5]], array[[6, 7, 8]], array[[ 9, 10]]]

Tách danh sách thành các khối trong Python bằng hàm do người dùng xác định

Phương thức này sẽ lặp lại danh sách và tạo ra các khối có kích thước n liên tiếp trong đó n đề cập đến số mà tại đó cần thực hiện phân tách. Một từ khóa

test_list = ['1','2','3','4','5','6','7','8','9','10']

x = 3

final_list= lambda test_list, x: [test_list[i:i+x] for i in range[0, len[test_list], x]]

output=final_list[test_list, x]

print['The Final List is:', output]
0 được sử dụng trong chức năng này và nó cho phép một chức năng bị tạm dừng và khôi phục khi giá trị thay đổi khi quá trình thực thi bị tạm dừng. Đây là sự khác biệt quan trọng từ một chức năng bình thường. Một chức năng bình thường không thể trở lại nơi nó đã dừng lại. Hàm được gọi là Trình tạo khi chúng ta sử dụng câu lệnh
test_list = ['1','2','3','4','5','6','7','8','9','10']

x = 3

final_list= lambda test_list, x: [test_list[i:i+x] for i in range[0, len[test_list], x]]

output=final_list[test_list, x]

print['The Final List is:', output]
0 trong một hàm. Trình tạo tạo hoặc trả về các giá trị và không thể được đặt tên dưới dạng một hàm đơn giản, mà là một hàm có thể lặp lại, tôi. e. , sử dụng một vòng lặp

Chủ Đề