Chuyển string sang list trong Python | Laptrinhcanban.com

Chuyển string sang list trong Python

Hướng dẫn cách chuyển string sang list trong Python. Bạn sẽ học được tất cả các cách chuyển string sang list trong Pythonsau bài học này.

Chúng ta có 3 phương pháp để chuyển string sang list trong Python như sau:

  • Hàm list(): chuyển string sang list trong Python
  • Phương thức split(): tách chuỗi và chuyển string sang list
  • RegEx trong Python: Tách số và ký tự trong chuỗi và chuyển string sang list trong python

Lại nữa, nếu bạn muốn làm ngược lại, hãy xem bài viết: Chuyển list thành string trong Python.

Chuyển string sang list trong Python | Hàm list() python

Hàm list() trong python là một hàm tạo (constructor) trong class List và được sử dụng để tạo list từ các giá trị được chỉ định.
Bằng cách chỉ định đối số của hàm list() là một string, chúng ta có thể chuyển string sang list trong Python như ví dụ sau:

mystring =  'cityboy'
mylist= list(mystring)
print(mylist)

#>> ['c', 'i', 't', 'y', 'b', 'o', 'y']

Chúng ta cũng có thể làm tương tự với các chuỗi chứa số trong nó như sau:

mystring =  'cityboy1968'
mylist= list(mystring)
print(mylist)

#>> ['c', 'i', 't', 'y', 'b', 'o', 'y', '1', '9', '6', '8']

Tách chuỗi chỉ định và chuyển string sang list trong python | Phương thức split()

Đối với các chuỗi mà ký tự trong nó được phân cách bởi dấu phân tách hoặc các ký tự chỉ định, chúng ta có thể tách chuỗi này bằng dấu phân tách hoặc ký tự chỉ định đó và thu về kết quả dưới dạng một list bằng cách sử dụng phương thức split() trong Python.

Ví dụ, chúng ta có thể sử dụng split() và chuyển string sang list trong python với một chuỗi ban đầu có các ký tự phân tách nhau bởi dấu cách như sau:

mystring = 'Thứ 6 ngày 25 tháng 6 năm 2021'
mylist = mystring.split()
print(mylist)

#>> ['Thứ', '6', 'ngày', '25', 'tháng', '6', 'năm', '2021']

Hoặc là với một chuỗi có các ký tự được phân tách bởi chuỗi ký tự bất kỳ, chúng ta có thể tách chuỗi ban đầu bởi chuỗi đó và chuyển string sang list trong python bằng phương thức split() như sau:

mystring = 'Đỏ và đen và nâu và trắng'
mylist = mystring.split(' và ')
print(mylist)
#>> ['Đỏ', 'đen', 'nâu', 'trắng']

Cách này sẽ đặc biệt hữu dụng khi bạn muốn tạo một list từ một chuỗi liệt kê phần tử như trên.

Tách số và ký tự trong chuỗi và chuyển string sang list trong python | RegEx trong Python

Đối với các chuỗi chứa cả số và ký tự trong nó mà chúng ta muốn tách riêng số và ký tự thành các phần tử trong list python, ví dụ như chuỗi 'Năm 2021' thành ['Năm', 2021] chẳng hạn, chúng ta có thể sử dụng tới RegEx trong Python để tách số và ký tự trong chuỗi trước khi nối các kết quả thành list trong python.

Ví dụ cụ thể:

import re
mystring = 'Thứ 6 ngày 25 tháng 6 năm 2021'
m = re.findall(r'\d+', mystring)
m1 = re.sub(r'\d','', mystring).split()

mylist = m + m1
print(m)
print(m1)
print(mylist)

#>> ['6', '25', '6', '2021']
#>> ['Thứ', 'ngày', 'tháng', 'năm']
#>> ['6', '25', '6', '2021', 'Thứ', 'ngày', 'tháng', 'năm']

Một ví dụ khác:

import re
mystring = 'a12b34c1991'
m = re.findall(r'\d+', mystring)
m1 = re.sub(r'\d','', mystring).split()

mylist = m + m1
print(m)
print(m1)
print(mylist)

#>> ['12', '34', '1991']
#>> ['abc']
#>> ['12', '34', '1991', 'abc']

Phương pháp này sẽ đặc biệt hữu ích khi bạn cần lấy ra các dãy số trong một dải mật mã, hoặc là lấy id Facebook của một người trong một chuỗi ký tự bao gồm cả các ký tự làm nhiễu chẳng hạn.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách chuyển string sang list trong Python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

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.