Hướng dẫn how do you split multiple lines in python? - làm thế nào để bạn chia nhiều dòng trong python?

Sử dụng inputString.splitlines()..


Tại sao splitlines tốt hơn

splitlines xử lý Newlines đúng cách, không giống như

>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
0.

Nó cũng có thể tùy chọn trả về ký tự dòng mới trong kết quả chia khi được gọi bằng đối số

>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
1, rất hữu ích trong một số kịch bản cụ thể.


Tại sao bạn không nên sử dụng >>> " a \n b \r\n c ".split("\n") [' a ', ' b \r', ' c '] 2

Sử dụng

>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
0 tạo ra các lỗi rất khó hiểu khi chia sẻ tệp trên các hệ điều hành.

>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
4 Trong Python đại diện cho một dòng phá vỡ UNIX (mã thập phân ASCII 10), độc lập với HĐH nơi bạn chạy nó. Tuy nhiên, đại diện dòng ASCII phụ thuộc vào hệ điều hành.

Trên Windows,

>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
4 là hai ký tự,
>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
6 và
>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
7 (mã thập phân ASCII 13 và 10,
>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
8 và
>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
4), trong khi trên Unix hiện đại (Mac OS X, Linux, Android), đó là ký tự duy nhất.

>>> " a \n b \r\n c ".split(os.linesep)
[' a \n b ', ' c ']
1 hoạt động chính xác ngay cả khi bạn có một chuỗi có các đầu dòng không khớp với nền tảng của bạn:

>>> print " a \n b \r\n c "
 a 
 b 
 c

Tuy nhiên, chia tách rõ ràng trên "\ n", có hành vi phụ thuộc OS:

>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']

Ngay cả khi bạn sử dụng

>>> " a \n b \r\n c ".split(os.linesep)
[' a \n b ', ' c ']
2, nó sẽ chỉ được chia theo dấu phân cách mới trên nền tảng của bạn và sẽ thất bại nếu bạn đang xử lý văn bản được tạo trong các nền tảng khác hoặc với một
>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
4 trần:

>>> " a \n b \r\n c ".split(os.linesep)
[' a \n b ', ' c ']

splitlines giải quyết tất cả các vấn đề này:

>>> " a \n b \r\n c ".splitlines()
[' a ', ' b ', ' c ']

Đọc các tệp trong chế độ văn bản giảm thiểu một phần vấn đề biểu diễn NewLine, vì nó chuyển đổi

>>> " a \n b \r\n c ".split("\n")
[' a ', ' b \r', ' c ']
4 của Python thành biểu diễn dòng mới của nền tảng.

Tuy nhiên, chế độ văn bản chỉ tồn tại trên Windows. Trên các hệ thống UNIX, tất cả các tệp được mở ở chế độ nhị phân, do đó, sử dụng

>>> " a \n b \r\n c ".split(os.linesep)
[' a \n b ', ' c ']
6 trong hệ thống UNIX với tệp Windows sẽ dẫn đến hành vi không mong muốn. Điều này cũng có thể xảy ra khi chuyển các tập tin trong mạng.

Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:51:43 (UTC/GMT +8 giờ)

Chuỗi Python: Tập thể dục-99 với giải pháp

Viết một chương trình Python để chia một chuỗi đa dòng nhất định thành một danh sách các dòng.

  • Sử dụng str.split () và '\ n' để phù hợp với ngắt dòng và tạo danh sách.
  • Str.SplitLines () cung cấp chức năng tương tự với đoạn trích này.

Giải pháp mẫu:

Mã Python:

def split_lines(s):
  return s.split('\n')
print("Original string:")
print("This\nis a\nmultiline\nstring.\n")
print("Split the said multiline string into a list of lines:")
print(split_lines('This\nis a\nmultiline\nstring.\n'))

Đầu ra mẫu:

Original string:
This
is a
multiline
string.

Split the said multiline string into a list of lines:
['This', 'is a', 'multiline', 'string.', '']

Flowchart:

Hướng dẫn how do you split multiple lines in python? - làm thế nào để bạn chia nhiều dòng trong python?

Trực quan hóa thực thi mã Python:

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực hiện chương trình đã nói:

Trình chỉnh sửa mã Python:

Có một cách khác để giải quyết giải pháp này? Đóng góp mã của bạn (và nhận xét) thông qua Disqus.

Trước đây: Viết chương trình Python để giải mã chữ cái đầu tiên của một chuỗi đã cho. Trả về đúng hoặc sai. Write a Python program to decapitalize the first letter of a given string.
Next: Write a Python program to check whether any word in a given sting contains duplicate characrters or not. Return True or False.

Mức độ khó của bài tập này là gì?

Kiểm tra kỹ năng lập trình của bạn với bài kiểm tra của W3Resource.

Python: Lời khuyên trong ngày

Cấu trúc từ điển mặc định (một lớp từ điển lấy lại giá trị mặc định khi được truy cập khóa không tồn tại):

>>> import collections
>>> m = collections.defaultdict(int)
>>> m['a']
0

>>> m = collections.defaultdict(str)
>>> m['a']
''
>>> m['b'] += 'a'
>>> m['b']
'a'

>>> m = collections.defaultdict(lambda: '[default value]')
>>> m['a']
'[default value]'
>>> m['b']
'[default value]'

>>> m = collections.defaultdict(list)
>>> m['a']
[]


  • Bài tập: Top 16 chủ đề phổ biến nhất hàng tuần
  • Bài tập SQL, Thực hành, Giải pháp - Tham gia
  • Bài tập SQL, Thực hành, Giải pháp - Quan sát phụ
  • JavaScript Basic - Bài tập, Thực hành, Giải pháp
  • Java Array: Bài tập, Thực hành, Giải pháp
  • C Bài tập lập trình, Thực hành, Giải pháp: Tuyên bố có điều kiện
  • Cơ sở dữ liệu nhân sự - Sắp xếp bộ lọc: Bài tập, Thực hành, Giải pháp
  • C Bài tập lập trình, Thực hành, Giải pháp: Chuỗi
  • Các loại dữ liệu Python: Từ điển - Bài tập, Thực hành, Giải pháp
  • Câu đố lập trình Python - Bài tập, Thực hành, Giải pháp
  • Mảng C ++: Bài tập, Thực hành, Giải pháp
  • Báo cáo và vòng lặp có điều kiện JavaScript - Bài tập, Thực hành, Giải pháp
  • Thuật toán cơ bản C# Sharp: Bài tập, Thực hành, Giải pháp
  • Python Lambda - Bài tập, Thực hành, Giải pháp
  • Python Pandas DataFrame: Bài tập, Thực hành, Giải pháp
  • Công cụ chuyển đổi
  • JavaScript: HTML Mẫu xác thực


Làm thế nào để bạn chia đầu vào nhiều dòng trong Python?

Viết một chương trình Python để chia một chuỗi đa dòng nhất định thành một danh sách các dòng ...
Sử dụng str.Split () và '\ n' để phù hợp với các lần phá vỡ dòng và tạo danh sách ..
str.Splitlines () cung cấp chức năng tương tự với đoạn trích này ..

Làm thế nào để bạn chia các dòng dữ liệu trong Python?

Phương thức phân chia chuỗi python () Phương thức phân tách một chuỗi thành một danh sách.Bạn có thể chỉ định phân tách, dấu phân cách mặc định là bất kỳ khoảng trắng nào.Lưu ý: Khi MaxSplit được chỉ định, danh sách sẽ chứa số lượng phần tử được chỉ định cộng với một.The split() method splits a string into a list. You can specify the separator, default separator is any whitespace. Note: When maxsplit is specified, the list will contain the specified number of elements plus one.

Làm thế nào để bạn phân chia các dòng trong mã?

Để chia một câu lệnh thành nhiều dòng, hãy sử dụng ký tự liên tục dòng, đó là một dấu gạch dưới (_), tại điểm mà bạn muốn dòng bị phá vỡ.Use the line-continuation character, which is an underscore ( _ ), at the point at which you want the line to break.