Hướng dẫn how do you strip a list in python? - làm thế nào để bạn tách một danh sách trong python?

Tôi có một danh sách trong Python được sản xuất từ ​​một số chức năng. Nó được sản xuất như thế này:

['01', '1.0', '[0.2]']

Tôi muốn tước tất cả các nhân vật không cần thiết sau khi nó được sản xuất.

Đầu ra lý tưởng:

['01', '1.0', '0.2']

Về cơ bản, tôi cần phải loại bỏ [và] khỏi chuỗi cuối cùng trong danh sách.

Update:

list_test = ['01', '1.0', '[0.2]']
[i.strip('[]') if type(i) == str else str(i) for i in list_test]
print(list_test)

Điều này không hoạt động như cả có và không có kết quả tương tự:

['01', '1.0', '[0.2]']

Kết quả cần thiết là:

['01', '1.0', '0.2']

Giải pháp được cung cấp:

l = ['01', '1.0', '[0.2]']
[i.strip('[0.2]') if type(i) == str else str(i) for i in l]
print(l)

output:

['01', '1.0', '0.2']

Process finished with exit code 0

Hướng dẫn how do you strip a list in python? - làm thế nào để bạn tách một danh sách trong python?

Đã hỏi ngày 5 tháng 1 năm 2017 lúc 20:34Jan 5, 2017 at 20:34

13

Nếu bạn chỉ cần xóa một

['01', '1.0', '0.2']
6 và
['01', '1.0', '0.2']
7 tùy chọn xung quanh một chuỗi, một lớp này sẽ thực hiện thủ thuật:

l = [i.strip('[]') for i in l]

với ví dụ của bạn

>>> l = ['01', '1.0', '[0.2]']
>>> [i.strip('[]') for i in l]
['01', '1.0', '0.2']

Những gì nó làm: Nó lặp lại trên tất cả các chuỗi của danh sách và xóa bất kỳ

['01', '1.0', '0.2']
6 và
['01', '1.0', '0.2']
7 nào nếu chúng ở đầu hoặc cuối chuỗi. Nó cũng sẽ biến
list_test = ['01', '1.0', '[0.2]']
[i.strip('[]') if type(i) == str else str(i) for i in list_test]
print(list_test)
0 thành
list_test = ['01', '1.0', '[0.2]']
[i.strip('[]') if type(i) == str else str(i) for i in list_test]
print(list_test)
1.

Cập nhật::

Tôi nhận được

list_test = ['01', '1.0', '[0.2]']
[i.strip('[]') if type(i) == str else str(i) for i in list_test]
print(list_test)
2

Trong trường hợp này, bạn có một int trong mảng đầu vào của mình, một lớp lót này sẽ thực hiện thủ thuật:

l = [i.strip('[]') if type(i) == str else str(i) for i in l]

Với một ví dụ với int:

['01', '1.0', '0.2']
0

Những gì nó làm là nó

  • Chỉ tước bỏ
    ['01', '1.0', '0.2']
    
    6 và
    ['01', '1.0', '0.2']
    
    7 khỏi chuỗi
  • Chuyển đổi mọi thứ không phải là chuỗi thành chuỗi

Đã trả lời ngày 5 tháng 1 năm 2017 lúc 21:40Jan 5, 2017 at 21:40

Hướng dẫn how do you strip a list in python? - làm thế nào để bạn tách một danh sách trong python?

Hansaplasthansaplasthansaplast

10.3k2 Huy hiệu vàng52 Huy hiệu bạc66 Huy hiệu Đồng2 gold badges52 silver badges66 bronze badges

1

Nếu bạn ổn khi sử dụng Regex, bạn có thể tìm nạp các số từ chuỗi như:

['01', '1.0', '0.2']
1

Khác, có thể chuyển đổi

list_test = ['01', '1.0', '[0.2]']
[i.strip('[]') if type(i) == str else str(i) for i in list_test]
print(list_test)
5 thành
list_test = ['01', '1.0', '[0.2]']
[i.strip('[]') if type(i) == str else str(i) for i in list_test]
print(list_test)
6 và xóa nội dung khỏi chuỗi dựa trên danh sách các mục bạn muốn xóa. Ví dụ:

['01', '1.0', '0.2']
2

Giá trị cuối cùng được giữ bởi

list_test = ['01', '1.0', '[0.2]']
[i.strip('[]') if type(i) == str else str(i) for i in list_test]
print(list_test)
7 sẽ là:

['01', '1.0', '0.2']
3

Đã trả lời ngày 5 tháng 1 năm 2017 lúc 20:41Jan 5, 2017 at 20:41

Hướng dẫn how do you strip a list in python? - làm thế nào để bạn tách một danh sách trong python?

Moinuddin Quadrimoinuddin QuadriMoinuddin Quadri

44.7K12 Huy hiệu vàng92 Huy hiệu bạc118 Huy hiệu đồng12 gold badges92 silver badges118 bronze badges

7

Bạn không cần Regex, một cái gì đó đơn giản này sẽ hoạt động.

['01', '1.0', '0.2']
4

Hoặc, nếu bạn có nhiều nhân vật bạn coi là không cần thiết,

['01', '1.0', '0.2']
5

Đã trả lời ngày 5 tháng 1 năm 2017 lúc 20:54Jan 5, 2017 at 20:54

BallpointbenballpointbenBallpointBen

7,8521 Huy hiệu vàng 30 Huy hiệu bạc54 Huy hiệu Đồng1 gold badge30 silver badges54 bronze badges

Làm thế nào để bạn tước một mục từ một danh sách trong Python?

Phương thức Remove () xóa phần tử khớp đầu tiên (được truyền dưới dạng đối số) khỏi danh sách. Phương thức pop () loại bỏ một phần tử tại một chỉ mục nhất định và cũng sẽ trả về mục đã xóa. Bạn cũng có thể sử dụng từ khóa DEL trong Python để xóa một phần tử hoặc lát khỏi danh sách.. The pop() method removes an element at a given index, and will also return the removed item. You can also use the del keyword in Python to remove an element or slice from a list.

Làm thế nào để bạn tước dữ liệu trong Python?

Phương thức chuỗi chuỗi () trong Python được tích hợp từ Python. Nó giúp nhà phát triển loại bỏ các khoảng trắng hoặc các ký tự cụ thể khỏi chuỗi ở đầu và cuối chuỗi. Phương thức Dải () trong chuỗi chỉ chấp nhận một tham số là tùy chọn và có ký tự. in python is built-in from Python. It helps the developer to remove the whitespaces or specific characters from the string at the beginning and end of the string. Strip() method in string accepts only one parameter which is optional and has characters.

Dải () chia () làm gì trong Python?

Dải () là một hàm sẵn có trong ngôn ngữ lập trình Python trả về một bản sao của chuỗi với cả các ký tự dẫn và dấu vết được xóa (dựa trên đối số chuỗi được truyền).returns a copy of the string with both leading and trailing characters removed (based on the string argument passed).

Dải txt () trong Python là gì?

Phương thức Dải () loại bỏ bất kỳ dấu dẫn nào (không gian ở đầu) và các ký tự (không gian ở cuối) (không gian là ký tự dẫn mặc định để loại bỏ)removes any leading (spaces at the beginning) and trailing (spaces at the end) characters (space is the default leading character to remove)