Tách List trong Python | Laptrinhcanban.com

HOME › >>

Tách List trong Python

Trong lập trình, việc tách (hoặc cắt) list (list) là một phần quan trọng của việc xử lý dữ liệu. Python, với tính linh hoạt và mạnh mẽ của mình, cung cấp nhiều cách tiếp cận để thực hiện tác vụ này. Trong bài viết này, chúng ta sẽ tìm hiểu về cách tách list trong Python và các kỹ thuật liên quan.

Tách list Bằng Indexing và slicing

Một trong những cách đơn giản để tách list là sử dụng indexing và slicing. Python cho phép bạn truy cập các phần tử của list thông qua chỉ mục (index).

Tách một phần list (slicing)

Bạn có thể tách list bằng cách sử dụng slicing [start:stop], trong đó start là vị trí bắt đầu và stop là vị trí kết thúc.

fruits = ["apple", "banana", "cherry", "date", "elderberry"]
subset = fruits[1:4]

Trong ví dụ trên, fruits[1:4] trả về list con subset từ chỉ mục 1 đến 3, bao gồm “banana”, “cherry”, và “date”.

Tách từ đầu list

Nếu bạn muốn tách list từ đầu đến một chỉ mục cụ thể, bạn có thể bỏ trống chỉ mục đầu khi dùng slicing.

fruits = ["apple", "banana", "cherry", "date", "elderberry"]
subset = fruits[:3]

Trong ví dụ này, fruits[:3] trả về list con từ đầu đến chỉ mục 2, bao gồm “apple”, “banana”, và “cherry”.

Tách từ chỉ mục cụ thể đến cuối list

Nếu bạn muốn tách list từ một chỉ mục cụ thể đến cuối, bạn có thể bỏ trống chỉ mục cuối khi dùng slicing.

fruits = ["apple", "banana", "cherry", "date", "elderberry"]
subset = fruits[2:]

Trong ví dụ này, fruits[2:] trả về list con từ chỉ mục 2 đến cuối, bao gồm “cherry”, “date”, và “elderberry”.

Sử dụng bước (step) trong slicing

Bạn cũng có thể sử dụng bước (step) để lấy mỗi phần tử thứ k trong list.

fruits = ["apple", "banana", "cherry", "date", "elderberry"]
subset = fruits[::2]

Trong ví dụ này, fruits[::2] trả về list con với mỗi phần tử thứ 2, bao gồm “apple”, “cherry”, và “elderberry”.

Tách list Bằng Các Phương Thức

Python cung cấp một số phương thức cho list để thực hiện các tác vụ tách list.

Sử dụng phương thức pop()

Phương thức pop() cho phép bạn loại bỏ phần tử ở chỉ mục cụ thể khỏi list và trả về nó.

fruits = ["apple", "banana", "cherry", "date", "elderberry"]
removed_fruit = fruits.pop(2)

Trong ví dụ này, fruits.pop(2) loại bỏ phần tử ở chỉ mục 2 (“cherry”) khỏi list và trả về nó.

Sử dụng phương thức remove()

Phương thức remove() cho phép bạn loại bỏ phần tử có giá trị cụ thể khỏi list.

fruits = ["apple", "banana", "cherry", "date", "elderberry"]
fruits.remove("banana")

Trong ví dụ này, fruits.remove("banana") loại bỏ phần tử “banana” khỏi list.

Tách Dựa Trên Giá Trị

Bạn có thể tách list dựa trên giá trị của các phần tử.

Tách list thành hai list con

fruits = ["apple", "banana", "cherry",

"date", "elderberry"]
first_half = fruits[:len(fruits) // 2]
second_half = fruits[len(fruits) // 2:]

Trong ví dụ này, chúng ta đã tách list fruits thành hai list con first_halfsecond_half bằng cách sử dụng slicing và tính toán chiều dài list.

Tách dựa trên điều kiện

Bạn có thể tách list dựa trên một điều kiện cụ thể bằng cách sử dụng comprehension.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [num for num in numbers if num % 2 == 0]

Trong ví dụ này, even_numbers sẽ chứa các số chẵn từ list numbers.

Tách list Bằng Cách Sử Dụng Hàm split()

Nếu list của bạn là một chuỗi ký tự, bạn có thể sử dụng hàm split() để tách nó thành các phần tử riêng biệt.

text = "apple,banana,cherry,date"
text_list = text.split(",")

Trong ví dụ này, chuỗi text sẽ được tách thành các phần tử bằng dấu phẩy, tạo ra list text_list chứa các chuỗi ['apple', 'banana', 'cherry', 'date'].

Tách list Bằng Cách Sử Dụng Hàm split() và Điều Kiện

Nếu bạn muốn tách list dựa trên một điều kiện nhất định, bạn có thể sử dụng comprehension để thực hiện tác vụ này.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers = [num for num in numbers if num % 2 == 0]

Trong ví dụ này, list even_numbers sẽ chỉ chứa các số chẵn từ list numbers.

IV. Tách list Sử Dụng Vòng Lặp

Bạn cũng có thể sử dụng vòng lặp để tách list theo yêu cầu cụ thể.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
sub_lists = []

for i in range(0, len(numbers), 3):
sub_list = numbers[i:i+3]
sub_lists.append(sub_list)

Trong ví dụ này, chúng ta tách list numbers thành các list con có độ dài là 3, tạo ra list sub_lists chứa các list con [[1, 2, 3], [4, 5, 6], [7, 8, 9]].

Xử Lý Các Trường Hợp Đặc Biệt

Khi tách list, cần xem xét các trường hợp đặc biệt:

Tách list thành list con

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
sub_lists = [numbers[i:i+3] for i in range(0, len(numbers), 3)]

Trong ví dụ này, list numbers được tách thành các list con có độ dài là 3, tạo ra list sub_lists chứa các list con [[1, 2, 3], [4, 5, 6], [7, 8, 9]].

Tách list thành list con bằng cách sử dụng hàm itertools

import itertools

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
sub_lists = [list(group) for group in itertools.groupby(numbers, lambda x: x % 2 == 0)]

Trong ví dụ này, chúng ta sử dụng module itertools để tạo list con bằng cách nhóm các phần tử liên tiếp theo một điều kiện nhất định.

Sử Dụng Thư Viện Nâng Cao

Ngoài các cách thông thường, Python còn cung cấp nhiều thư viện và module mạnh mẽ để xử lý dữ liệu và tách list, bao gồm numpy, pandas, và nhiều thư viện khác.

Kết Luận

Trên đây Kiyoshi đã hướng dẫn bạn về cách Tách list trong Python rồi. Tách list trong Python là một kỹ thuật quan trọng để xử lý dữ liệu và làm cho mã của bạn trở nên linh hoạt và hiệu quả. Python cung cấp nhiều cách tiếp cận và phương thức để thực hiện việc này, cho phép bạn chọn phương pháp phù hợp với yêu cầu cụ thể của dự án. Hiểu cách tách list là một kỹ năng quan trọng cho việc phân tích dữ liệu và lập trình trong Python.

URL Link

https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/list-trong-python/tach-list-trong-python/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.