Con trăn |
Một danh sách có thể được phân chia dựa trên kích thước của đoạn được xác định. Tách danh sách thành n phần trả về danh sách n danh sách chứa số phần tử danh sách bằng nhau Show
Nếu số lượng danh sách, n, không chia đều cho độ dài của danh sách được chia, thì một số danh sách sẽ có nhiều phần tử hơn các danh sách khác Tách danh sách Python4 cách dễ dàng để tách danh sách trong Python
Phương pháp 1. Sử dụng phương thức len()Để tách một danh sách trong Python, hãy sử dụng phương thức len() với iterable dưới dạng danh sách để tìm độ dài của nó và sau đó chia sàn độ dài cho 2 bằng cách sử dụng toán tử // để tìm middle_index của danh sách list = [11, 18, 19, 21] length = len(list) middle_index = length // 2 first_half = list[:middle_index] second_half = list[middle_index:] print(first_half) print(second_half) đầu ra[11, 18] [19, 21] Như bạn có thể thấy từ đầu ra, chúng tôi chia danh sách thành một nửa chính xác. Chúng tôi đã sử dụng toán tử dấu hai chấm (. ) để truy cập vào nửa đầu và nửa sau của danh sách chia Có thể bạn quan tâmCách chia danh sách thành n phần trong PythonĐể chia danh sách thành n phần trong Python, hãy sử dụng numpy. hàm array_split() các np. split() chia mảng thành nhiều mảng con Phương thức numpy array_split() trả về danh sách n mảng Numpy, mỗi mảng chứa số phần tử xấp xỉ bằng nhau từ danh sách import numpy as np listA = [11, 18, 19, 21, 29, 46] splits = np.array_split(listA, 3) for array in splits: print(list(array)) đầu ra[11, 18] [19, 21] [29, 46] Trong ví dụ này, chúng tôi chia danh sách thành 3 phần Tách một danh sách thành các phần tử N phần tử chẵn trong PythonMột danh sách có thể được phân chia dựa trên kích thước của đoạn được xác định. Điều này có nghĩa là chúng ta có thể xác định kích thước của chunk Nếu tập hợp con của danh sách không vừa với kích thước của đoạn đã xác định, bộ đệm cần được chèn vào vị trí của phần tử trống Do đó, chúng tôi sẽ sử dụng Không làm bộ lọc để lấp đầy các phần tử trống đó def list_split(listA, n): for x in range(0, len(listA), n): every_chunk = listA[x: n+x] if len(every_chunk) < n: every_chunk = every_chunk + \ [None for y in range(n-len(every_chunk))] yield every_chunk print(list(list_split([11, 21, 31, 41, 51, 61, 71, 81, 91, 101, 111, 112, 113], 7))) đầu ra[[11, 21, 31, 41, 51, 61, 71], [81, 91, 101, 111, 112, 113, None]] Danh sách đã được chia thành các phần bằng nhau gồm 7 phần tử mỗi phần Hàm list_split() ở trên nhận các đối số. listA cho danh sách và chunk_size cho một số được chia theo. Sau đó, hàm lặp qua danh sách với số lượng khối tăng dần n Mỗi đoạn dự kiến sẽ có kích thước được đưa ra làm đối số. Nếu không có đủ phần tử để chia cùng kích thước, các phần tử còn lại không sử dụng được điền vào Không có Phương pháp 2. Sử dụng hiểu danh sáchSử dụng khả năng hiểu danh sách, chúng ta có thể tách một danh sách gốc và tạo các khối. Để chia danh sách thành nhiều phần, hãy cung cấp N cho cú pháp hiểu danh sách và nó sẽ tạo một danh sách mới với N phần tử main_list = [11, 21, 46, 19] split_size = 3 splitted_list = [main_list[i:i+split_size] for i in range(0, len(main_list), split_size)] print(splitted_list) đầu ra[[11, 21, 46], [19]] Bạn có thể thấy rằng chúng tôi chia danh sách thành các phần gồm 3 phần tử. Bạn có thể chia danh sách thành các phần có 2 phần tử hoặc bốn phần tử. Vượt qua split_size, là N trong trường hợp của chúng tôi Phương pháp 3. Sử dụng vòng lặpSử dụng vòng lặp for để chia danh sách thành các phần khác nhau. Xác định kích thước khối của danh sách và nó sẽ tạo danh sách các khối có kích thước chính xác đó ________số 8_______đầu ra[[11, 21], [46, 19]] Phương pháp 4. Sử dụng mảng_split() gọn gàngcác np. array_split() là một chức năng thư viện gọn gàng chia danh sách thành nhiều phần. Nó cho phép bạn chia một mảng thành một số mảng đã đặt [11, 18] [19, 21]0 đầu ra[[11, 21], [46, 19]] Câu hỏi thường gặpLàm cách nào để chia danh sách thành nhiều danh sách trong Python?Sử dụng cắt danh sách để chia danh sách thành nhiều danh sách [11, 18] [19, 21]2 đầu ra[11, 18] [19, 21]3 Làm cách nào để chia danh sách thành một số danh sách con cụ thể trong Python?Sử dụng cắt danh sách kết hợp với hàm range() để chia danh sách thành một số danh sách con cụ thể [11, 18] [19, 21]4 đầu ra[11, 18] [19, 21]5 Phần kết luậnĐể chia độ dài của danh sách trong Python, bạn có thể sử dụng hàm len() tích hợp kết hợp với floor chia độ dài cho 2 bằng cách sử dụng toán tử // để tìm middle_index của danh sách Ngoài cách tiếp cận hàm len(), bạn cũng có thể sử dụng vòng lặp for, hiểu danh sách hoặc hàm array_split() numpy Làm cách nào để chia danh sách thành danh sách con Python dựa trên giá trị?6 câu trả lời . Sử dụng itertools. nhómby() ; . từ itertools nhập groupby grouped = [list(g) for k, g in groupby(L, lambda s. S. phân vùng ('_')[0])]. Sử dụng từ điển để nhóm các mục theo tiền tố chung Cách tách một danh sách trong Python?Phương thức tách chuỗi Python()
. Bạn có thể chỉ định dấu phân cách, dấu phân cách mặc định là bất kỳ khoảng trắng nào. Ghi chú. Khi maxsplit được chỉ định, danh sách sẽ chứa số phần tử đã chỉ định cộng với một. The split() method splits a string into a list. You can specify the separator, default separator is any whitespace. Note: When maxsplit is specified, the list will contain the specified number of elements plus one.
Bạn có thể sử dụng split() trên danh sách không?Có thể sử dụng hàm tách để tách chuỗi với sự trợ giúp của dấu phân cách. Một chức năng tách có thể được sử dụng để tách các chuỗi với sự trợ giúp của sự xuất hiện của một ký tự. Có thể sử dụng hàm tách để tách các chuỗi ở dạng danh sách .
Làm cách nào để tách mảng trong Python?Sử dụng phương thức array_split(), nhập mảng bạn muốn chia và số lần chia bạn muốn thực hiện . |