Hướng dẫn how to get rid of n in python list - làm thế nào để loại bỏ n trong danh sách python

Từ Python3 trở đi

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2 không còn trả về
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
3 mà là
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
4, do đó câu trả lời sẽ trông giống như

Show
>>> map(lambda x:x.strip(),l)

Bạn có thể đọc thêm về nó trên những gì mới trong Python 3.0.

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
5 và
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
6 Trả về trình lặp lại. Nếu bạn thực sự cần một
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
3, một bản sửa lỗi nhanh là, ví dụ:
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
8

Vì vậy, bây giờ những cách để có được máng này là gì?


Trường hợp 1 - Cuộc gọi >>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'] >>> list(map(lambda x:x.strip(),l)) ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3'] 3 qua >>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'] >>> list(map(lambda x:x.strip(),l)) ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3'] 2 với $ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))" 100000 loops, best of 3: 2.22 usec per loop 1

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2 Trả về một trình lặp.
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
3 là một hàm có thể chuyển đổi trình lặp thành danh sách. Do đó, bạn sẽ cần phải kết thúc một cuộc gọi
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
3 vào khoảng
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2. Vì vậy, câu trả lời bây giờ trở thành,

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']

Rất tốt, chúng tôi nhận được đầu ra. Bây giờ chúng tôi kiểm tra lượng thời gian cần thiết cho phần mã này để thực thi.

$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))"
100000 loops, best of 3: 2.22 usec per loop

2,22 micro giây. Điều đó không quá tệ. Nhưng có những cách hiệu quả hơn?


Trường hợp 2 - Cuộc gọi >>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'] >>> list(map(lambda x:x.strip(),l)) ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3'] 3 qua >>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'] >>> list(map(lambda x:x.strip(),l)) ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3'] 2 mà không có $ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))" 100000 loops, best of 3: 2.22 usec per loop 1

$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))"
100000 loops, best of 3: 2.22 usec per loop
1 được nhiều người trong cộng đồng Python cau mày (bao gồm cả Guido). Ngoài ra, nó sẽ giảm đáng kể tốc độ của chương trình. Do đó chúng ta cần tránh điều đó càng nhiều càng tốt. Hàm Toplevel
>>> list(map(str.strip,l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
0. Đến viện trợ của chúng tôi ở đây.

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2 có thể được viết lại mà không cần sử dụng
$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))"
100000 loops, best of 3: 2.22 usec per loop
1 bằng cách sử dụng
>>> list(map(str.strip,l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
0 AS

>>> list(map(str.strip,l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']

Và bây giờ cho thời đại.

$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(str.strip,l))"
1000000 loops, best of 3: 1.38 usec per loop

Tuyệt vời. Bạn có thể thấy sự khác biệt hiệu quả giữa hai cách. Nó nhanh hơn gần 60%. Do đó, cách tiếp cận mà không sử dụng

$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))"
100000 loops, best of 3: 2.22 usec per loop
1 là một lựa chọn tốt hơn ở đây.


Trường hợp 3 - theo hướng dẫn theo hướng dẫn, cách thường xuyên

Một điểm quan trọng khác từ những gì mà mới trong Python 3.0 là nó khuyên chúng tôi nên tránh

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2 nếu có thể.

Đặc biệt khó khăn là

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
5 được gọi cho các tác dụng phụ của chức năng; Việc chuyển đổi chính xác là sử dụng vòng lặp
>>> list(map(str.strip,l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
7 thông thường (vì việc tạo danh sách sẽ chỉ là lãng phí).

Vì vậy, chúng tôi có thể giải quyết vấn đề này mà không cần

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2 bằng cách sử dụng vòng lặp
>>> list(map(str.strip,l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
7 thông thường.

Cách giải quyết tầm thường (lực lượng vũ phu) sẽ là:-

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> final_list = []
>>> for i in l:
...     final_list.append(i.strip())
... 
>>> final_list
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']

Thiết lập thời gian

def f():
    l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
    final_list = []
    for i in l:
         final_list.append(i.strip())
import timeit
print(min(timeit.repeat("f()","from __main__ import f")))

Và kết quả.

1.5322505849981098

Như bạn có thể thấy lực lượng vũ phu ở đây chậm hơn một chút. Nhưng nó chắc chắn dễ đọc hơn đối với một lập trình viên chung so với mệnh đề

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2.


Trường hợp 4 - Danh sách toàn diện

Một danh sách hiểu ở đây cũng có thể và giống như trong Python2.

>>> [i.strip() for i in l]
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']

Bây giờ cho thời gian:

$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];[i.strip() for i in l]"
1000000 loops, best of 3: 1.28 usec per loop

Như bạn có thể thấy sự hiểu biết danh sách có hiệu quả hơn

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2 (thậm chí là không có
$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))"
100000 loops, best of 3: 2.22 usec per loop
1). Do đó, quy tắc ngón tay cái trong Python3 là sử dụng danh sách hiểu biết thay vì
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2Hence the thumb rule in Python3 is to use a list comprehension instead of
>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2


Trường hợp 5-Cơ chế tại chỗ và hiệu quả không gian (T-M-T)

Một cách cuối cùng là thực hiện các thay đổi tại chỗ trong danh sách. Điều này sẽ tiết kiệm rất nhiều không gian bộ nhớ. Điều này có thể được thực hiện bằng cách sử dụng

$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(str.strip,l))"
1000000 loops, best of 3: 1.38 usec per loop
4.

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
0

Kết quả thời gian sẽ là

$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(str.strip,l))"
1000000 loops, best of 3: 1.38 usec per loop
5. Nhưng tuy nhiên cách này là không gian hiệu quả.


Sự kết luận

Một danh sách thời gian so sánh (cả Python 3.4.3 và Python 3.5.0)

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
1

Cuối cùng lưu ý rằng sự hiểu biết danh sách là cách tốt nhất và

>>> l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n']
>>> list(map(lambda x:x.strip(),l))
['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3']
2 sử dụng
$ python3 -m timeit "l = ['Name1', '7.3', '6.9', '6.6', '6.6', '6.1', '6.4', '7.3\n'];list(map(lambda x:x.strip(),l))"
100000 loops, best of 3: 2.22 usec per loop
1 là điều tồi tệ nhất. Nhưng một lần nữa --- chỉ trong Python3ONLY IN PYTHON3

Bạn có cần \ n trong Python không?

Trong Python, ký tự dòng mới \ n, được sử dụng để tạo ra một dòng mới. Khi được chèn vào một chuỗi, tất cả các ký tự sau khi ký tự được thêm vào một dòng mới. Về cơ bản, sự xuất hiện của các \ n, chỉ ra rằng dòng kết thúc ở đây và các ký tự còn lại sẽ được hiển thị trong một dòng mới.the new line character “\n” is used to create a new line. When inserted in a string all the characters after the character are added to a new line. Essentially the occurrence of the “\n” indicates that the line ends here and the remaining characters would be displayed in a new line.

Làm thế nào để bạn thay thế N bằng một không gian trong danh sách trong Python?

Sử dụng hàm thay thế () để thay thế dòng mới bằng không gian trong Python..
Sao chép String1 = 'Hello \ Nworld'.
Sao chép in (String1).
Sao chép String2 = String1.thay thế ('\ n', '').
Sao chép in (String2).

Làm cách nào để loại bỏ n phần tử cuối cùng khỏi danh sách?

Sử dụng câu lệnh DEL với việc cắt danh sách để loại bỏ các yếu tố N cuối cùng khỏi danh sách, ví dụ:del my_list [len (my_list) - n:] Câu lệnh DEL sẽ xóa các phần tử n cuối cùng khỏi danh sách ban đầu.Đã sao chép!Chúng tôi đã sử dụng câu lệnh DEL với việc cắt danh sách để loại bỏ n phần tử cuối cùng khỏi danh sách., e.g. del my_list[len(my_list) - n:] The del statement will remove the last N elements from the original list. Copied! We used the del statement with list slicing to remove the last N elements from a list.

Làm cách nào để loại bỏ không gian trắng khỏi danh sách trong Python?

Dải () Chức năng Dải chuỗi Python () sẽ loại bỏ các khoảng trắng dẫn đầu và dấu vết.Nếu bạn muốn loại bỏ các không gian dẫn hoặc dấu vết, hãy sử dụng hàm lstrip () hoặc rstrip () thay thế. Python String strip() function will remove leading and trailing whitespaces. If you want to remove only leading or trailing spaces, use lstrip() or rstrip() function instead.