Cách tách một số thành 3 phần python

Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện

Trên mỗi lần lặp, chúng tôi chuyển chuỗi tới lớp

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
4 để chuyển đổi nó thành số nguyên

Bạn cũng có thể sử dụng vòng lặp

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
5 đơn giản để đạt được kết quả tương tự

Để tách một số nguyên thành các chữ số

  1. Sử dụng lớp
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    6 để chuyển đổi số nguyên thành chuỗi
  2. Sử dụng vòng lặp
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    5 để lặp qua chuỗi
  3. Sử dụng lớp
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    4 để chuyển đổi mỗi chuỗi con thành một số nguyên và nối chúng vào danh sách

Chúng tôi lặp lại các chữ số được gói trong một chuỗi và trên mỗi lần lặp lại, chúng tôi sử dụng lớp

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
4 để chuyển đổi giá trị thành số nguyên trước khi nối kết quả vào danh sách

Ngoài ra, bạn có thể sử dụng hàm

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
0 để tách một số nguyên thành các chữ số

Hàm map[] lấy một hàm và một iterable làm đối số và gọi hàm với mỗi mục của iterable

Chuỗi có thể lặp lại và số nguyên thì không, vì vậy bước đầu tiên là chuyển đổi số nguyên thành chuỗi

Lớp

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
4 được truyền từng chuỗi con từ chuỗi và chuyển đổi các giá trị thành số nguyên

Lưu ý rằng hàm

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
0 trả về đối tượng
# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
42 [không phải danh sách] nên chúng ta phải sử dụng lớp
# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
43 để chuyển đổi đối tượng
# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
42 thành danh sách

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để chia danh sách, bao gồm cách chia danh sách thành một nửa và thành n phần có kích thước bằng nhau. Bạn sẽ học cách chia danh sách Python thành các phần của

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
6, nghĩa là bạn sẽ trả về các danh sách mà mỗi danh sách chứa n [hoặc ít hơn nếu không còn] phần tử. Biết cách làm việc với danh sách trong Python là một kỹ năng quan trọng cần học

Đến cuối hướng dẫn này, bạn sẽ học được

  • Cách chia đôi danh sách bằng Python
  • Cách chia danh sách thành nhiều phần trong Python
  • Cách tách danh sách tại một vị trí chỉ mục cụ thể trong Python
  • Cách sử dụng NumPy để tách danh sách trong Python

Câu trả lời nhanh. Sử dụng lập chỉ mục danh sách để tách danh sách trong Python

Sử dụng vòng lặp for để chia danh sách Python thành nhiều phần

Mục lục

  • Cách truy cập danh sách Python theo chỉ mục của nó
  • Cách chia đôi danh sách Python
  • Chia danh sách thành các phần bằng cách sử dụng vòng lặp for
  • Chia danh sách Python thành các phần bằng cách sử dụng tính năng hiểu danh sách
  • Chia danh sách thành các khối bằng NumPy
  • Chia danh sách thành các khối bằng Itertools
  • Các câu hỏi thường gặp
  • Sự kết luận
  • Tài nguyên bổ sung

Cách truy cập danh sách Python theo chỉ mục của nó

Một trong nhiều tính chất tuyệt vời của danh sách là chúng được sắp xếp theo thứ tự. Điều này có nghĩa là chúng ta có thể truy cập một mục hoặc một loạt các mục theo chỉ mục của nó. Hãy xem cách các chỉ số danh sách Python hoạt động

Chúng ta có thể thấy ở đây rằng các danh sách Python có cả chỉ mục tích cực cũng như chỉ mục tiêu cực. Chỉ số dương bắt đầu ở vị trí 0, nghĩa là mục đầu tiên. Chỉ mục danh sách phủ định bắt đầu từ -1, cho phép bạn truy xuất mục cuối cùng của danh sách

Tương tự, bạn có thể truy cập phạm vi dữ liệu trong danh sách bằng cách sử dụng danh sách cắt. Điều này có thể được thực hiện bằng cách sử dụng ký tự dấu hai chấm

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
7, cho phép bạn chọn các mục từ một vị trí cụ thể đến một vị trí cụ thể

Cách chia đôi danh sách Python

Bạn có thể dễ dàng chia đôi danh sách Python bằng cách sử dụng lập chỉ mục danh sách. Như bạn đã học ở trên, bạn có thể chọn nhiều mục trong danh sách bằng cách sử dụng cắt danh sách. Hãy xem cách chúng ta có thể sử dụng cắt danh sách để chia đôi danh sách

# Split a List in Half with Python List Slicing
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
half_length = len[a_list] // 2
first_half, second_half = a_list[:half_length], a_list[half_length:]

print[f'{first_half=}']
print[f'{second_half=}']

# Returns:
# first_half=[1, 2, 3, 4, 5]
# second_half=[6, 7, 8, 9, 10]

Hãy chia nhỏ những gì chúng ta đã làm trong đoạn mã trên

  1. Chúng tôi đã tạo một danh sách
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    8, trong đó có mười mục khác nhau
  2. Sau đó, chúng tôi đã tạo một biến số nguyên,
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    9, là kết quả của việc chia độ dài của danh sách cho hai bằng cách sử dụng phép chia số nguyên
  3. Sau đó, chúng tôi đã chỉ định các biến,
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    0 và
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    1, phân chia các danh sách thành và từ một nửa biến

Trong phần sau, bạn sẽ tìm hiểu cách chia danh sách thành các phần có kích thước khác nhau trong Python

Chia danh sách thành các phần bằng cách sử dụng vòng lặp for

Vòng lặp for trong Python là một công cụ cực kỳ hữu ích để sử dụng. Họ làm cho rất nhiều phương thức Python dễ thực hiện cũng như dễ hiểu. Vì lý do này, hãy bắt đầu bằng cách sử dụng vòng lặp for để chia danh sách của chúng ta thành các phần khác nhau

Một trong những cách bạn có thể chia danh sách là thành n phần khác nhau. Hãy xem cách chúng ta có thể thực hiện điều này bằng cách sử dụng vòng lặp for

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]

Hãy xem những gì chúng tôi đã làm ở đây

  1. Chúng tôi khởi tạo hai danh sách.
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    8, chứa các mục trong danh sách ban đầu của chúng tôi và
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    3, trống
  2. Chúng tôi cũng khai báo một biến,
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    4, mà chúng tôi đã đặt thành ba, để cho biết rằng chúng tôi muốn chia danh sách của mình thành các phần có kích thước 3
  3. Sau đó, chúng tôi lặp lại danh sách của mình bằng cách sử dụng chức năng phạm vi. Những gì chúng tôi đã làm ở đây là tạo các mục từ 0, cho đến kích thước danh sách của chúng tôi, lặp lại ở kích thước khối của chúng tôi. Ví dụ: hàm phạm vi của chúng tôi sẽ đọc
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    5, nghĩa là chúng tôi sẽ lặp lại bằng cách sử dụng các mục
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    6
  4. Sau đó, chúng tôi lập chỉ mục danh sách của mình từ
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    7, nghĩa là vòng lặp đầu tiên sẽ là
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    8, sau đó là
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    9, v.v.
  5. Các danh sách được lập chỉ mục này được thêm vào danh sách của chúng tôi

Chúng ta có thể thấy rằng đây là một cách khá đơn giản để chia danh sách Python thành nhiều phần. Tiếp theo, bạn sẽ học cách thực hiện điều này bằng cách sử dụng khả năng hiểu danh sách Python

Chia danh sách Python thành các phần bằng cách sử dụng tính năng hiểu danh sách

Trong nhiều trường hợp, các vòng lặp for Python có thể được viết lại theo cách Pythonic hơn bằng cách viết chúng dưới dạng một lớp lót được gọi là hiểu danh sách. Khả năng hiểu danh sách trong Python có một số lợi ích hữu ích so với vòng lặp for, bao gồm việc không phải khởi tạo danh sách trống trước và không phải ngắt vòng lặp for của bạn qua nhiều dòng

Hãy xem cách chúng ta có thể viết hiểu danh sách Python để chia danh sách thành nhiều phần

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
1

Trước khi chúng tôi chia nhỏ mã này, hãy xem cú pháp cơ bản của việc hiểu danh sách Python trông như thế nào

Cách hiểu danh sách hoạt động trong Python

Bây giờ hãy chia nhỏ mã của chúng tôi để xem nó hoạt động như thế nào

  1. Chúng tôi khai báo một biến
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    4 để xác định mức độ lớn mà chúng tôi muốn danh sách chunked của mình
  2. Đối với biểu thức hiểu danh sách của chúng tôi, chúng tôi lập chỉ mục danh sách của mình dựa trên vị trí thứ i đến i+chunk_sizeth
  3. Chúng tôi sử dụng biểu thức này để lặp lại mọi mục trong đầu ra của đối tượng
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    11 được tạo dựa trên
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    12, trong trường hợp này sẽ là
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    6

Mặc dù cách tiếp cận này gõ nhanh hơn một chút, nhưng liệu nó có dễ đọc hơn vòng lặp for hay không, vẫn còn phải bàn luận. Hãy tìm hiểu cách chia danh sách Python của chúng tôi thành các phần bằng cách sử dụng numpy

Muốn tìm hiểu thêm?

Chia danh sách thành các khối bằng NumPy

Numpy là một thư viện Python tuyệt vời giúp các phép toán dễ dàng hơn đáng kể. Nói như vậy, NumPy cũng hoạt động với một đối tượng giống như danh sách, được gọi là mảng NumPy, giúp làm việc với danh sách dễ dàng hơn nhiều. Các mảng NumPy này được đóng gói với nhiều phương thức khác nhau để thao tác với các mảng của bạn

Điều quan trọng cần lưu ý là phương pháp này sẽ chỉ hoạt động với các giá trị số

Trong phần hướng dẫn này, chúng ta sẽ sử dụng hàm NumPy

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
14 để chia danh sách Python thành nhiều phần. Chức năng này cho phép bạn chia một mảng thành một số mảng đã đặt

Hãy xem cách chúng ta có thể sử dụng NumPy để chia danh sách của mình thành 3 phần riêng biệt

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
7

Đây là một cách khá dài để làm mọi thứ và chúng tôi chắc chắn có thể cắt giảm nó xuống một chút. Hãy xem làm thế nào điều đó có thể được thực hiện

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
8

Hãy phá vỡ điều này một chút

  1. Chúng tôi biến danh sách của mình thành một mảng Numpy
  2. Chúng tôi chia mảng của mình thành n số mảng bằng cách sử dụng hàm
    # Split a Python List into Chunks using For Loops
    a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    
    chunked_list = list[]
    chunk_size = 3
    
    for i in range[0, len[a_list], chunk_size]:
        chunked_list.append[a_list[i:i+chunk_size]]
    
    print[chunked_list]
    
    # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
    15
  3. Cuối cùng, chúng tôi sử dụng khả năng hiểu danh sách để biến tất cả các mảng trong danh sách mảng của chúng tôi trở lại danh sách

Bạn muốn tìm hiểu thêm về phép chia trong Python?

Chia danh sách thành các khối bằng Itertools

Hãy xem cách chúng ta có thể sử dụng thư viện

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
16 để chia danh sách thành nhiều phần. Đặc biệt, chúng ta có thể sử dụng hàm
# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
17 để thực hiện điều này

Hãy xem làm thế nào chúng ta có thể làm điều này

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
2

Chúng ta có thể thấy ở đây rằng chúng ta có thể có một triển khai tương đối đơn giản trả về một danh sách các bộ dữ liệu. Lưu ý một trong những điều được thực hiện ở đây là chia danh sách thành các phần có kích thước n, thay vì thành n phần

Các câu hỏi thường gặp

Cách tốt nhất để tách danh sách Python là gì?

Cách tốt nhất để tách danh sách Python là sử dụng lập chỉ mục danh sách, vì nó mang lại cho bạn sự linh hoạt rất lớn

Khi nào bạn không nên sử dụng Hàm NumPy array_split[] để phân tách danh sách trong Python?

Hàm NumPy array_split[] cho phép bạn dễ dàng chia các mảng thành một số mảng nhất định. Tuy nhiên, hàm chỉ hoạt động với các giá trị số [vì mảng NumPy chỉ có thể chứa các giá trị số]

Sự kết luận

Trong bài đăng này, bạn đã học cách chia danh sách Python thành nhiều phần. Bạn đã học cách hoàn thành việc chia danh sách Python thành các phần của

# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
6 hoặc thành
# Split a Python List into Chunks using For Loops
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

chunked_list = list[]
chunk_size = 3

for i in range[0, len[a_list], chunk_size]:
    chunked_list.append[a_list[i:i+chunk_size]]

print[chunked_list]

# Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
19. Bạn đã học cách thực hiện việc này bằng vòng lặp for, sử dụng khả năng hiểu danh sách, NumPy và itertools

Chủ Đề