Hướng dẫn how to remove characters from a string in a list python - cách xóa các ký tự khỏi một chuỗi trong python danh sách

lst = [("aaaa8"),("bb8"),("ccc8"),("dddddd8")...]

msg = filter(lambda x : x != "8", lst)

print msg

EDIT: Đối với bất kỳ ai bắt gặp bài đăng này, chỉ để hiểu ở trên sẽ loại bỏ bất kỳ yếu tố nào khỏi danh sách bằng 8.

Giả sử chúng ta sử dụng ví dụ trên, phần tử đầu tiên ("AAAAA8") sẽ không bằng 8 và do đó nó sẽ bị loại bỏ.

Để làm cho điều này (loại hoạt động?) Với ý định của câu hỏi là chúng ta có thể thực hiện một cái gì đó tương tự như thế này

msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
  • Tôi không ở trong một thông dịch viên vào lúc này, vì vậy tất nhiên là số dặm có thể thay đổi, chúng tôi có thể phải lập chỉ mục vì vậy chúng tôi làm danh sách (y [0]) sẽ là sửa đổi duy nhất cho các mục đích giải thích này.

Những gì điều này làm là chia từng yếu tố của danh sách thành một mảng các ký tự để ("AAAA8") sẽ trở thành ["A", "A", "A", "A", "8"].

Điều này sẽ dẫn đến một loại dữ liệu trông như thế này

MSG = [["A", "A", "A", "A"], ["B", "B"] ...]

Vì vậy, cuối cùng để kết thúc điều đó, chúng ta sẽ phải ánh xạ nó để đưa tất cả chúng trở lại cùng loại

msg = list(map(lambda q: ''.join(q), filter(lambda x: x != "8", map(lambda y: list(y[0]), lst))))

Tôi hoàn toàn không giới thiệu nó, nhưng nếu bạn thực sự muốn chơi với MAP và FILL, đó sẽ là cách tôi nghĩ rằng bạn có thể làm điều đó với một dòng duy nhất.

Hướng dẫn how to remove characters from a string in a list python - cách xóa các ký tự khỏi một chuỗi trong python danh sách

3. Loại bỏ ký tự khỏi chuỗi bằng cách sử dụng cắt và nối

Chuỗi gốc: Chuỗi kỹ thuật sau khi loại bỏ ký tự: Enineering

list_of_str = ['what', 'why', 'now', 'where', 'who', 'how', 'wow']

4. Loại bỏ ký tự khỏi chuỗi bằng phương thức Jof () và danh sách hiểu biết

['hat', 'hy', 'no', 'here', 'ho', 'ho', 'o']

Trong kỹ thuật này, mọi yếu tố của chuỗi được chuyển đổi thành một phần tử tương đương của danh sách, sau đó mỗi phần trong số chúng được nối để tạo thành một chuỗi không bao gồm ký tự cụ thể sẽ được xóa.

5. Loại bỏ ký tự khỏi chuỗi bằng phương thức dịch ()

Đầu ra:

Quảng cáo

Đối với điều đó, sử dụng danh sách hiểu để lặp lại trên tất cả các chuỗi trong danh sách. Sau đó, với mỗi chuỗi, hãy gọi hàm thay thế () để thay thế tất cả các lần xuất hiện của ký tự sẽ bị xóa bằng một chuỗi trống. Cuối cùng, danh sách hiểu sẽ trả về một danh sách mới các chuỗi được sửa đổi. Hãy để xem nó trong mã làm việc,

list_of_str = ['what', 'why', 'now', 'where', 'who', 'how', 'wow']

ch = 'w'
# Remove character 'w' from the list of strings
list_of_str = [elem.replace(ch, '') for elem in list_of_str]

print(list_of_str)

Output:

['hat', 'hy', 'no', 'here', 'ho', 'ho', 'o']

Nó đã xóa tất cả các lần xuất hiện của nhân vật ‘W, khỏi danh sách các chuỗi.

Xóa ký tự khỏi danh sách các chuỗi bằng hàm map ()

Chúng ta cũng có thể sử dụng hàm map () để xóa ký tự khỏi tất cả các chuỗi trong danh sách. Các bước như sau,

  • Tạo hàm Lambda, chấp nhận một chuỗi và trả về một bản sao của chuỗi sau khi xóa ký tự đã cho ra khỏi nó.
  • Truyền hàm Lambda và danh sách các chuỗi làm đối số cho hàm map ().
  • Hàm bản đồ () sẽ lặp lại tất cả các chuỗi trong danh sách và gọi hàm Lambda trên đó. Mà trả về một chuỗi mới sau khi xóa ký tự cho. Cuối cùng, hàm () trả về đối tượng được ánh xạ có chứa các chuỗi sửa đổi.
  • Chuyển đối tượng được ánh xạ vào danh sách () để tạo một danh sách các chuỗi mới.
  • Các chuỗi này trong danh sách không chứa ký tự đã cho. Vì vậy, cuối cùng chúng tôi đã xóa một ký tự nhất định khỏi danh sách các chuỗi.

Ví dụ làm việc như sau,

list_of_str = ['what', 'why', 'now', 'where', 'who', 'how', 'wow']

# Remove character 'w' from the list of strings
list_of_str  = list(map(lambda elem: elem.replace(ch, ''), list_of_str))

print(list_of_str)

Output:

['hat', 'hy', 'no', 'here', 'ho', 'ho', 'o']

Nó đã xóa tất cả các lần xuất hiện của nhân vật ‘W, khỏi danh sách các chuỗi.

Summary:

Chúng tôi đã tìm hiểu về hai cách khác nhau để xóa một nhân vật khỏi danh sách các chuỗi trong Python.

Chuỗi Python

  1. Loại bỏ python của ký tự khỏi một chuỗi
  2. Các phương pháp sau được sử dụng để loại bỏ một ký tự cụ thể khỏi một chuỗi trong Python.
  3. Bằng cách sử dụng phương thức
    msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
    
    4
  4. Bằng cách sử dụng hàm
    msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
    
    5
  5. Bằng cách sử dụng
    msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
    
    6 và
    msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
    
    7

Bằng cách sử dụng

msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
8 và
msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
9


Bằng cách sử dụng phương thức msg = list(map(lambda q: ''.join(q), filter(lambda x: x != "8", map(lambda y: list(y[0]), lst)))) 0

Lưu ý rằng chuỗi là bất biến trong Python. Vì vậy, chuỗi ban đầu vẫn không thay đổi và một chuỗi mới được trả về bởi các phương thức này.

input_str = "DivasDwivedi"
  
# Printing original string  
print ("Original string: " + input_str) 
  
result_str = "" 
  
for i in range(0, len(input_str)): 
    if i != 3: 
        result_str = result_str + input_str[i] 
  
# Printing string after removal   
print ("String after removal of i'th character : " + result_str)

Output::

1. Loại bỏ ký tự khỏi chuỗi bằng phương pháp ngây thơ
String after removal of i’th character : DivsDwivedi


Trong phương pháp này, chúng ta phải chạy một vòng lặp và nối các ký tự và xây dựng một chuỗi mới từ các ký tự hiện tại ngoại trừ khi chỉ mục là n. (trong đó n là chỉ số của ký tự sẽ bị xóa)

msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
0

Output::

Chuỗi gốc: Chuỗi divasdwivingi sau khi loại bỏ ký tự I Ithth: divsdwivingi
The string after removal of character: Enginring
The string after removal of character: Enginering


3. Loại bỏ ký tự khỏi chuỗi bằng cách sử dụng cắt và nối

msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
1

Output::

Chuỗi gốc: Chuỗi kỹ thuật sau khi loại bỏ ký tự: Enineering
String after removal of character: Enineering


4. Loại bỏ ký tự khỏi chuỗi bằng phương thức Jof () và danh sách hiểu biết

Trong kỹ thuật này, mọi yếu tố của chuỗi được chuyển đổi thành một phần tử tương đương của danh sách, sau đó mỗi phần trong số chúng được nối để tạo thành một chuỗi không bao gồm ký tự cụ thể sẽ được xóa.

msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
2

Output::

Chuỗi gốc: Chuỗi kỹ thuật sau khi loại bỏ ký tự: Enineering
String after removal of character: Enineering


4. Loại bỏ ký tự khỏi chuỗi bằng phương thức Jof () và danh sách hiểu biết

msg = filter(lambda x: x != "8", map(lambda y: list(y), lst))
3

Trong kỹ thuật này, mọi yếu tố của chuỗi được chuyển đổi thành một phần tử tương đương của danh sách, sau đó mỗi phần trong số chúng được nối để tạo thành một chuỗi không bao gồm ký tự cụ thể sẽ được xóa.:

5. Loại bỏ ký tự khỏi chuỗi bằng phương thức dịch ()


Đầu ra:

  • Kỹ sưDiscipline
  • Người giới thiệu