Cách xóa n khỏi danh sách trong Python

🎯 Mục tiêu. Trong bài viết này, chúng tôi sẽ thảo luận về các phương pháp để loại bỏ '\n' hoặc các ký tự xuống dòng khỏi danh sách

Giới thiệu

Trong một chuỗi, '\n' đại diện cho dòng mới. Nhưng việc có chúng trong danh sách của bạn có thể là một vấn đề nếu bạn muốn trích xuất một chuỗi đã cho từ danh sách không có ký tự thoát. Điều này có nghĩa là nếu bạn in các phần tử của danh sách thì các ký tự ‘\n’ cũng sẽ được in

Ví dụ. Giả sử bạn có hai danh sách và bạn muốn in đồng thời các phần tử tương ứng của mỗi danh sách

1

2

3

4

5

6

7

8

 

lang = ['C\n','C++\n','Python\n','Java\n','R\n']

dev = ['Dennis Ritchie',<'Bjarne Stroustrup','Guido van Rossum','James Gosling','John Chambers']

in('Ngôn ngữ - Nhà phát triển')

cho num,i in enumerate(lang):

    in(i,"-",dev[num])

 

 

Sản lượng dự kiến

Ngôn ngữ – Nhà phát triển
C – Dennis Ritchie
C++ – Bjarne Stroustrup
Python – Guido van RossumJava – James Gosling
R – John Chambers

Sản lượng thực tế

Ngôn ngữ – Nhà phát triển
C
– Dennis Ritchie
C++

Python
– Guido van Rossum
Java
– James Gosling
R
– John Chambers

Trong khi in danh sách lang, ký tự xuống dòng cũng được Python tính đến. Điều đó dẫn đến item tương ứng của danh sách thứ hai, tôi. e. , dev sẽ được in trên dòng mới thay vì được in dọc theo mục của danh sách lang

Vì vậy, không chậm trễ hơn nữa, chúng ta hãy đi sâu vào các giải pháp để hình dung cách bạn có thể xóa ký tự xuống dòng khỏi danh sách

✨ Cách 1. Sử dụng phương thức replace() method

📌 replace() là một phương thức sẵn có trong Python được sử dụng để thay thế một chuỗi con cũ bằng một chuỗi con mới

cú pháp

string.replace(Old_value, New_value ,Count)

Đây

  • Old_value. Có nghĩa là chuỗi con cũ hoặc hiện tại
  • Giá_trị_mới. Có nghĩa là chuỗi con mới
  • Đếm. Nó là một tham số tùy chọn. Nó đại diện cho số lượng chuỗi con bạn muốn thay thế. Nếu để trống, phương thức này sẽ thay thế tất cả các lần xuất hiện của chuỗi con cũ bằng chuỗi con mới

📌 Vì vậy, bạn có thể sử dụng phương pháp replace() để thay thế tất cả các ký tự ‘\n’  bằng ký tự khoảng trắng \n0

Dung dịch

1

2

3

4

5

6

7

8

 

lang = ['C\n', 'C++\n', 'Python\n', 'Java\n', 'R\n']

dev = ['Dennis Ritchie',< 'Bjarne Stroustrup', 'Guido van Rossum', 'James Gosling', 'John Chambers']

in('Ngôn ngữ - Nhà phát triển')

cho num, i in enumerate(lang):

    in(i. thay thế('\n', ''), "-", dev[num])

 

 

đầu ra

Ngôn ngữ – Nhà phát triển
C – Dennis Ritchie
C++ – Bjarne Stroustrup
Python – Guido van RossumJava – James Gosling
R – John Chambers

✨ Cách 2. Sử dụng re. phụ()

Một cách khác để xóa bất kỳ ký tự xuống dòng nào khỏi danh sách là sử dụng cụm từ thông dụng. Bạn chỉ cần nhập mô-đun \n1 (mô-đun Biểu thức chính quy) và sử dụng phương thức \n2 của mô-đun này

📌 Phương thức \n3 trả về một chuỗi, thay thế bất kỳ chuỗi con nào khớp với mẫu (được cung cấp) bằng một chuỗi con mới trong chuỗi đó

cú pháp

\n4

Giải pháp . Do đó, bằng cách sử dụng \n3, bạn có thể dễ dàng loại bỏ các lần xuất hiện đơn lẻ cũng như liên tiếp của các ký tự dòng mới với các chuỗi trống như bên dưới.

1

2

3

4

5

6

7

8

9

10

 

nhập lại

 

lang = ['C\n', 'C++\n', 'Python\n', 'Java\n', 'R\n']

dev = ['Dennis Ritchie',< 'Bjarne Stroustrup', 'Guido van Rossum', 'James Gosling', 'John Chambers']

in('Ngôn ngữ - Nhà phát triển')

cho num, i in enumerate(lang):

    in(lại. phụ('\n','',i), "-", dev[num])

 

 

đầu ra

Ngôn ngữ – Nhà phát triển
C – Dennis Ritchie
C++ – Bjarne Stroustrup
Python – Guido van RossumJava – James Gosling
R – John Chambers

✨ Cách 3. Sử dụng strip()

📌 \n6 là một phương thức tích hợp khác trong Python giúp xóa các ký tự được chỉ định khỏi đầu và cuối của một chuỗi nhất định

cú pháp

\n7

Dung dịch. Bạn có thể sử dụng phương thức \n8 để xóa các ký tự xuống dòng khỏi các thành phần danh sách như hình bên dưới

1

2

3

4

5

6

7

8

 

lang = ['C\n', 'C++\n', 'Python\n', 'Java\n', 'R\n']

dev = ['Dennis Ritchie',< 'Bjarne Stroustrup', 'Guido van Rossum', 'James Gosling', 'John Chambers']

in('Ngôn ngữ - Nhà phát triển')

cho num, i in enumerate(lang):

    in(i. cởi bỏ('\n'), "-", dev[num])

 

 

đầu ra

Ngôn ngữ – Nhà phát triển
C – Dennis Ritchie
C++ – Bjarne Stroustrup
Python – Guido van RossumJava – James Gosling
R – John Chambers

✨ Cách 4. Lát các phần tử danh sách

Cắt lát cho phép bạn trích xuất một chuỗi con từ toàn bộ chuỗi với sự trợ giúp của chỉ mục

Ví dụ. Đoạn mã sau trích xuất tất cả các ký tự từ một chuỗi ngoại trừ ký tự cuối cùng

text = ‘ABCDE#’
print(text[. -1])
# ĐẦU RA. ABCDE

Do đó, một cách giải quyết khác cho vấn đề của chúng ta là loại bỏ các ký tự xuống dòng là cắt các phần tử danh sách và xóa ký tự '\n' khỏi cuối chuỗi như hình bên dưới

1

2

3

4

5

6

7

8

9

10

 

nhập lại

 

lang = ['C\n', 'C++\n', 'Python\n', 'Java\n', 'R\n']

dev = ['Dennis Ritchie',< 'Bjarne Stroustrup', 'Guido van Rossum', 'James Gosling', 'John Chambers']

in('Ngôn ngữ - Nhà phát triển')

cho num, i in enumerate(lang):

    in(i[: - 1], ", dev[num])

 

 

đầu ra

Ngôn ngữ – Nhà phát triển
C – Dennis Ritchie
C++ – Bjarne Stroustrup
Python – Guido van RossumJava – James Gosling
R – John Chambers

Giải trình. Chúng tôi đã sử dụng lang0 và điều này đảm bảo rằng ký tự cuối cùng của mục không được bao gồm. Vì ký tự cuối cùng là '\n', do đó chúng tôi có thể loại bỏ nó và in đầu ra phù hợp

✨ Cách 5. Sử dụng chức năng Hiểu danh sách và Splitlines Function

Bây giờ, đây là một cách phức tạp nhưng hiệu quả để loại bỏ các ký tự '\n' khỏi danh sách

  • Sử dụng phương pháp lang3 để tách phần tử danh sách tại các ngắt dòng i. e. “\n” và sau đó lưu trữ chúng trong một danh sách khác bằng cách sử dụng khả năng hiểu danh sách
  • Nhưng lang5 sẽ lưu trữ các mục trong một danh sách khác. Do đó, bây giờ bạn sẽ có một danh sách danh sách. Vì vậy, bạn phải làm phẳng danh sách này bằng cách sử dụng cách hiểu danh sách khác và in kết quả mong muốn

Giải pháp .

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

 

lang = ['C\n', 'C++\n', 'Python\n', 'Java\n', 'R\n']

# sử dụng đường phân tách để phân tách tại các ngắt dòng

li = [x. đường phân chia() cho x in lang]

in("li. ", li)

# làm phẳng danh sách lồng nhau li

new_lang = [a cho i in li for a in i]

in("new_lang. ", new_lang)

dev = ['Dennis Ritchie',< 'Bjarne Stroustrup', 'Guido van Rossum', 'James Gosling', 'John Chambers']

in()

in('Ngôn ngữ - Nhà phát triển')

cho num, i in enumerate(new_lang):

    in(i, "-", dev[num])

 

 

đầu ra

li. [[‘C’], [‘C++’], [‘Python’], [‘Java’], [‘R’]]
new_lang. ['C', 'C++', 'Python', 'Java', 'R']

Ngôn ngữ – Nhà phát triển
C – Dennis Ritchie
C++ – Bjarne Stroustrup
Python – Guido van Rossum
Java – James Gosling
R – John Chambers

✨ Cách 6. Sử dụng str. maketrans(x,y) và str. dịch (bản đồ)

  • Cuối cùng nhưng không kém phần quan trọng, chúng ta có phương thức lang6. Phương thức này lấy hai chuỗi con x và y có độ dài bằng nhau và trả về một bảng dịch ánh xạ từng ký tự trong x thành ký tự ở cùng vị trí trong y
  • Sau đó, chúng ta cần lang7 trả về một bản sao của chuỗi trong đó tất cả các ký tự đã được ánh xạ theo từ điển được trả về bởi lang6

Dung dịch

1

2

3

4

5

6

7

8

9

10

11

12

 

lang = ['C\n', 'C++\n', 'Python\n', 'Java\n', 'R\n']

cho i trong phạm vi(len(lang)):

    li = lang[i].maketrans('\n', ' ')

    lang[i] = lang[i].dịch(li)

dev = ['Dennis Ritchie',< 'Bjarne Stroustrup', 'Guido van Rossum', 'James Gosling', 'John Chambers']

in()

in('Ngôn ngữ - Nhà phát triển')

cho num, i in enumerate(lang):

    in(i, "-", dev[num])

 

 

đầu ra

Ngôn ngữ – Nhà phát triển
C – Dennis Ritchie
C++ – Bjarne Stroustrup
Python – Guido van RossumJava – James Gosling
R – John Chambers

⚠️ Thận trọng

  • Đây có thể không phải là phương thức phù hợp trong mọi tình huống vì chúng ta đang thay thế ký tự xuống dòng bằng ký tự khoảng trắng trong trường hợp trên khi sử dụng phương thức lang9
  • Vì, sự hiện diện của khoảng trắng không cản trở đầu ra cuối cùng trong mã của chúng tôi, do đó phương pháp này xứng đáng được đề cập trong danh sách các giải pháp của chúng tôi

Phần kết luận

Do đó, trong bài viết này, bạn đã tìm hiểu về nhiều phương pháp để loại bỏ ký tự xuống dòng khỏi phần tử danh sách và tôi hy vọng các khái niệm nêu trên đã trả lời tất cả các câu hỏi của bạn

\r trong Python là gì?

Trong các chuỗi Python, dấu gạch chéo ngược "\" là một ký tự đặc biệt, còn được gọi là ký tự "thoát". Nó được sử dụng để đại diện cho các ký tự khoảng trắng nhất định. "\t" là một tab, "\n" là một dòng mới và "\r" là dấu xuống dòng .

\n được sử dụng để làm gì trong Python?

🔹 Tóm tắt . Nó được sử dụng để biểu thị phần cuối của một dòng văn bản .