Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuyển đổi danh sách chuỗi và ký tự thành danh sách ký tự trong Python

Khi xử lý list, có thể gặp tình huống cần xử lý chuỗi và lấy từng ký tự riêng lẻ. Bài viết trình bày các cách làm.

Sử dụng list comprehension

Thiết kế vòng lặp qua từng phần tử list, vòng lặp bên trong lấy từng ký tự từ phần tử là chuỗi.

Ví dụ

listA = ['Mon','d','ay']  # Danh sách cho trước
print("Given list : \n", listA)
# Lấy ký tự
res = [i for ele in listA for i in ele]  # Kết quả
print("List of characters: \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

Given list : ['Mon', 'd', 'ay'] List of characters: ['M', 'o', 'n', 'd', 'a', 'y']

Sử dụng itertools.chain

Module itertools cung cấp chain(). Dùng nó lấy từng ký tự từ chuỗi trong list và đưa vào list mới.

Ví dụ

from itertools import chain
listA = ['Mon','d','ay']  # Danh sách cho trước
print("Given list : \n", listA)
# Lấy ký tự
res = list(chain.from_iterable(listA))  # Kết quả
print("List of characters: \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

Given list : ['Mon', 'd', 'ay'] List of characters: ['M', 'o', 'n', 'd', 'a', 'y']

Sử dụng join

join() gộp tất cả phần tử thành một chuỗi, sau đó list() tách thành các ký tự riêng lẻ.

Ví dụ

listA = ['Mon','d','ay']  # Danh sách cho trước
print("Given list : \n", listA)
# Chuyển thành ký tự
res = list(''.join(listA))  # Kết quả
print("List of characters: \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

Given list : ['Mon', 'd', 'ay'] List of characters: ['M', 'o', 'n', 'd', 'a', 'y']