Cách thay thế dấu cách bằng dấu phẩy trong danh sách python

Tóm lược. Để phân tách chuỗi bằng dấu phẩy và khoảng trắng, bạn có thể sử dụng khả năng hiểu danh sách để phân tách chuỗi đã cho bằng dấu phẩy, sau đó loại bỏ khoảng trắng khỏi chuỗi con bằng phương thức

# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
2

Ví dụ tối thiểu

text = "Tony,   Tom,   Tim"
print[[x.strip[] for x in text.split[',']]]

# ['Tony', 'Tom', 'Tim']

Lưu ý rằng có nhiều tình huống khác nhau và nhiều cách khác để giải quyết vấn đề. Vui lòng đọc trước để khám phá các kịch bản và giải pháp khác nhau để đi sâu vào chủ đề này

Xây dựng vấn đề

Vấn đề. Đưa ra một chuỗi/câu chứa dấu phẩy và khoảng trắng giữa các từ/chuỗi con. Bạn sẽ tách chuỗi như thế nào ngay khi dấu phẩy hoặc dấu cách xuất hiện trong chuỗi đã cho?

Hãy hiểu câu hỏi với sự giúp đỡ của một ví dụ

ví dụ 1

# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']

Trong ví dụ trên, chuỗi đã được chia thành một danh sách các chuỗi con sao cho mỗi từ trong chuỗi được coi là một mục riêng lẻ trong danh sách. Lưu ý rằng các từ đã được phân tách bằng dấu cách hoặc dấu phẩy

ví dụ 2

# Input:
text = "Mouse,   Cat,   Dog"
# Output:
['Mouse', 'Cat', 'Dog']

Trong ví dụ trên, chuỗi có các từ được phân tách bằng dấu phẩy sao cho mỗi từ có nhiều dấu cách giữa chúng cũng như dấu phẩy

Do đó, chúng tôi có hai tình huống – [i] Dấu cách và dấu phẩy xuất hiện riêng biệt trong chuỗi đã cho. [ii] Dấu cách và dấu phẩy xuất hiện cùng nhau giữa các chuỗi con trong chuỗi đã cho

Không chần chừ thêm nữa, chúng ta hãy đi sâu vào câu hỏi quan trọng về nhiệm vụ và giải quyết vấn đề đã cho

Phương pháp 1. Sử dụng hiểu danh sách

Một giải pháp một dòng nhanh chóng cho vấn đề đã cho có thể được xây dựng với sự trợ giúp của việc hiểu danh sách

Giải pháp cho ví dụ 1

text = "Deep Learning, Machine Learning, Artificial Intelligence"
result = [ele for x in text.split[','] for ele in x.split[]]
print[result]

# ['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']

Giải trình. Ý tưởng được sử dụng trong giải pháp trên là ban đầu tách chuỗi đã cho bằng phương thức tách bằng cách sử dụng dấu phẩy làm dấu phân cách. Sau đó, chúng tôi tách từng mục của danh sách này bằng cách sử dụng khoảng trắng làm dấu phân cách trả về danh sách chứa các chuỗi con đã tách. Để hiểu nguyên tắc làm việc của giải pháp được sử dụng trong cách hiểu danh sách trên, hãy làm theo giải pháp nhiều dòng được đưa ra bên dưới

text = "Deep Learning, Machine Learning, Artificial Intelligence"
res = []
for ele in text.split[',']:
    for i in ele.split[]:
        res.append[i]
print[res]

Giải pháp cho ví dụ 2. Giải pháp cho tình huống thứ hai dễ dàng hơn nhiều vì bạn chỉ cần tách chuỗi bằng dấu phẩy và sau đó loại bỏ các khoảng trống xuất hiện trong các chuỗi con được trả về với sự trợ giúp của phương thức

# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
2

text = "Mouse,   Cat,   Dog"
result = [x.strip[] for x in text.split[',']]
print[result]

# ['Mouse', 'Cat', 'Dog']

Phương pháp 2. Sử dụng split[] và thay thế[]

Giải pháp cho ví dụ 1

Ý tưởng ở đây là thay thế khoảng trắng trong chuỗi đã cho bằng dấu phẩy với sự trợ giúp của phương thức

# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
4. Nó trở nên khá đơn giản sau đó. Bạn chỉ cần tách chuỗi bằng cách sử dụng dấu phẩy làm dấu phân tách bằng phương thức
# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
5

text = "Tony,   Tom,   Tim"
print[[x.strip[] for x in text.split[',']]]

# ['Tony', 'Tom', 'Tim']
0

Giải pháp cho ví dụ 2

Trong trường hợp thứ hai, bạn có thể thay thế khoảng trắng bằng một ký tự trống. Điều này giúp loại bỏ tất cả các khoảng trắng trong chuỗi, chỉ để lại dấu phẩy. Sau đó, bạn có thể tách nó bằng phương pháp

# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
6 và sử dụng dấu phẩy làm dấu phân cách

text = "Tony,   Tom,   Tim"
print[[x.strip[] for x in text.split[',']]]

# ['Tony', 'Tom', 'Tim']
2

Phương pháp 3. Sử dụng biểu thức chính quy

Thư viện biểu thức chính quy thúc đẩy bạn với sức mạnh để giải quyết các vấn đề khó khăn trong nháy mắt. Hình minh họa sau đây cho bạn thấy hàm sub[] của mô-đun regex hoạt động như thế nào

Tiếp cận. Sử dụng hàm

# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
7 của thư viện biểu thức chính quy và thay thế tất cả các ký tự khoảng trắng trong chuỗi đã cho bằng dấu phẩy, sau đó tách chuỗi đã cho bằng phương thức
# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
6 bình thường có chứa dấu phẩy làm dấu phân cách

Giải pháp cho ví dụ 1

Lưu ý rằng sau khi bạn tách chuỗi đã cho và lưu trữ nó trong biến danh sách

# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
9 , nó sẽ trả về một danh sách chứa các chuỗi con đã tách dọc và khoảng trắng dưới dạng các mục. Để loại bỏ các khoảng trắng khỏi danh sách kết quả, bạn có thể sử dụng một vòng lặp để lặp qua các mục của danh sách và sau đó loại bỏ từng khoảng trắng một

text = "Tony,   Tom,   Tim"
print[[x.strip[] for x in text.split[',']]]

# ['Tony', 'Tom', 'Tim']
6

Giải pháp cho ví dụ 2

text = "Tony,   Tom,   Tim"
print[[x.strip[] for x in text.split[',']]]

# ['Tony', 'Tom', 'Tim']
7

Phương pháp 4. Sử dụng map , strip và split

Cách tiếp cận này khá giống với ý tưởng theo phương pháp 1. Sự khác biệt duy nhất ở đây là bạn đang ánh xạ các chuỗi con đã tách [i. e. các chuỗi đã được phân tách bằng dấu phẩy] sang phương thức dải để loại bỏ khoảng trắng và tạo các mục riêng lẻ. Hàm tạo

# Input:
text = "Mouse,   Cat,   Dog"
# Output:
['Mouse', 'Cat', 'Dog']
0 cuối cùng cho phép bạn chuyển đổi đối tượng bản đồ thành đối tượng danh sách chứa đầu ra cuối cùng

Giải pháp cho ví dụ 1

# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
0

Giải pháp cho ví dụ 2

# Input:
text = "Deep Learning, Machine Learning, Artificial Intelligence"
# Output:
['Deep', 'Learning', 'Machine', 'Learning', 'Artificial', 'Intelligence']
1

Phần kết luận

Tôi hy vọng bạn thích nhiều tình huống và thử thách được sử dụng trong hướng dẫn này để giúp bạn tìm hiểu các cách khác nhau để tách chuỗi bằng dấu phẩy và khoảng trắng. Vui lòng đăng ký và theo dõi để biết thêm các hướng dẫn và giải pháp thú vị

🌎Bài đọc liên quan.
👉 Cách tạo danh sách từ chuỗi được phân tách bằng dấu phẩy
👉 Cách xóa dấu phẩy khỏi chuỗi?

Mã hóa vui vẻ. 🙂

Bạn có muốn làm chủ siêu năng lực regex không? . [1] nghiên cứu một chương sách, [2] giải câu đố mật mã và [3] xem video về chương giáo dục

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Chủ Đề