sử dụng itertools.chain:
from itertools import chain print(list(chain.from_iterable(ele.split(",") for ele in l))) ['60', '78', '70', '77', '80', '74', '90', '75', '100', '74', '110', '75']Bạn càng có nhiều mục để làm phẳng chuỗi thực hiện nó một cách hiệu quả hơn một chút:
In [1]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20" for _ in range(100000)] In [2]: from itertools import chain In [3]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30" for _ in range(10000)] In [4]: timeit (list(chain.from_iterable(ele.split(",") for ele in l))) 100 loops, best of 3: 17.7 ms per loop In [5]: timeit [item for items in l for item in items.split(",")] 10 loops, best of 3: 20.9 ms per loopTrong hướng dẫn này, chúng tôi sẽ xem xét cách chia một chuỗi thành một danh sách các chuỗi về sự xuất hiện của dấu phẩy trong Python với sự trợ giúp của các ví dụ.
Làm thế nào để chia một chuỗi trong Python?
Bạn có thể sử dụng hàm Chuỗi Python split() để chia chuỗi (bằng dấu phân cách) thành danh sách các chuỗi. Để phân chia một chuỗi bằng dấu phẩy trong Python, hãy truyền ký tự dấu phẩy In [1]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20" for _ in range(100000)] In [2]: from itertools import chain In [3]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30" for _ in range(10000)] In [4]: timeit (list(chain.from_iterable(ele.split(",") for ele in l))) 100 loops, best of 3: 17.7 ms per loop In [5]: timeit [item for items in l for item in items.split(",")] 10 loops, best of 3: 20.9 ms per loop 0 như một dấu phân cách cho hàm split().
Sau đây là cú pháp -
# split string s by comma s.split(",")Nó trả về một danh sách các chuỗi do phân tách chuỗi ban đầu về các lần xuất hiện của ____10.
Hãy cùng nhìn vào một số ví dụ.
Chia chuỗi chia theo dấu phẩy
Ở đây, chúng tôi chuyển dấu phẩy In [1]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20" for _ in range(100000)] In [2]: from itertools import chain In [3]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30" for _ in range(10000)] In [4]: timeit (list(chain.from_iterable(ele.split(",") for ele in l))) 100 loops, best of 3: 17.7 ms per loop In [5]: timeit [item for items in l for item in items.split(",")] 10 loops, best of 3: 20.9 ms per loop 0 làm dấu phân cách cho chức năng chuỗi split().
# string with commas s = "Yes, they backed Steve, Emma, and Rohan in the meeting." # split string by comma ls = s.split(",") print(ls)Output:
['Yes', ' they backed Steve', ' Emma', ' and Rohan in the meeting.']Danh sách kết quả chứa các từ kết quả từ sự phân chia chuỗi ban đầu về sự xuất hiện của dấu phẩy.
Sửa số lượng phân tách
Bạn cũng có thể chỉ định số lượng phân tách tối đa được thực hiện bằng tham số In [1]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20" for _ in range(100000)] In [2]: from itertools import chain In [3]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30" for _ in range(10000)] In [4]: timeit (list(chain.from_iterable(ele.split(",") for ele in l))) 100 loops, best of 3: 17.7 ms per loop In [5]: timeit [item for items in l for item in items.split(",")] 10 loops, best of 3: 20.9 ms per loop 5. Theo mặc định, chức năng chuỗi split() làm cho tất cả các chia tách có thể.
Hãy để chỉ chia chuỗi ở trên thành hai phần khi xảy ra dấu phẩy, In [1]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20" for _ in range(100000)] In [2]: from itertools import chain In [3]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30" for _ in range(10000)] In [4]: timeit (list(chain.from_iterable(ele.split(",") for ele in l))) 100 loops, best of 3: 17.7 ms per loop In [5]: timeit [item for items in l for item in items.split(",")] 10 loops, best of 3: 20.9 ms per loop 0Starting từ bên trái. Để chia chuỗi thành hai phần, In [1]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20" for _ in range(100000)] In [2]: from itertools import chain In [3]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30" for _ in range(10000)] In [4]: timeit (list(chain.from_iterable(ele.split(",") for ele in l))) 100 loops, best of 3: 17.7 ms per loop In [5]: timeit [item for items in l for item in items.split(",")] 10 loops, best of 3: 20.9 ms per loop 5 phải là In [1]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20" for _ in range(100000)] In [2]: from itertools import chain In [3]: l= ["1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30" for _ in range(10000)] In [4]: timeit (list(chain.from_iterable(ele.split(",") for ele in l))) 100 loops, best of 3: 17.7 ms per loop In [5]: timeit [item for items in l for item in items.split(",")] 10 loops, best of 3: 20.9 ms per loop 9, bởi vì chúng tôi chỉ tạo ra một phần phân chia dẫn đến hai chuỗi.
# string with commas s = "Yes, they backed Steve, Emma, and Rohan in the meeting." # split string by comma ls = s.split(",", maxsplit=1) print(ls)Output:
['Yes', ' they backed Steve, Emma, and Rohan in the meeting.']Bạn có thể thấy rằng danh sách kết quả chỉ có hai chuỗi.
Hãy cùng nhìn vào một ví dụ khác.
Hãy để chia các chuỗi ban đầu thành ba phần, ở đây chúng tôi vượt qua # split string s by comma s.split(",")0.
# string with commas s = "Yes, they backed Steve, Emma, and Rohan in the meeting." # split string by comma ls = s.split(",", maxsplit=2) print(ls)Output:
['Yes', ' they backed Steve', ' Emma, and Rohan in the meeting.']Danh sách kết quả chỉ có ba chuỗi.
Bạn cũng có thể quan tâm đến -
- Python - Chuỗi phân chia theo dấu gạch dưới
- Python - Xóa nhiều khoảng trống khỏi chuỗi
- Xóa các dòng khỏi chuỗi trong Python
Đăng ký nhận bản tin của chúng tôi để biết thêm hướng dẫn và hướng dẫn thông tin. Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào.
We do not spam and you can opt out any
time.
Piyush là một nhà khoa học dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trong quá khứ, anh ta làm việc như một nhà khoa học dữ liệu cho ZS và có bằng kỹ sư từ IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trên các dự án phụ.
Xem tất cả các bài viết