Làm cách nào để xóa các bản sao liên tiếp khỏi chuỗi trong python?

Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không?

Trong bài viết này, chúng ta sẽ thảo luận về 3 cách khác nhau để loại bỏ các phần tử trùng lặp liên tiếp khỏi danh sách python. Đây là những gì chúng tôi muốn đạt được

input - [1, 2, 4, 7, 3, 7, 8, 4, 4, 9]
output - [1, 2, 4, 7, 3, 7, 8, 4, 9]

Vì vậy, chúng tôi sẽ không xóa tất cả các yếu tố trùng lặp. Chúng tôi chỉ loại bỏ các yếu tố trùng lặp liên tiếp

Hãy kiểm tra 3 cách khác nhau

Cách 1 - Vòng lặp for sẽ không bao giờ lỗi mốt

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]

Phương pháp 2 - Hãy trở nên Pythonic hơn. Sử dụng liệt kê

Đây là một giải pháp một lót cho vấn đề

x = [1,2,4,7,3,7,8,4,4,9]

print[[v for i, v in enumerate[x] if i == 0 or v != x[i-1]]]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]

Nói với tôi rằng điều đó không đẹp

Phương pháp 3 - Đó là Python. Phải có thư viện

Đây là cách thứ 3 sử dụng thư viện

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
26

from itertools import groupby

x = [1,2,4,7,3,7,8,4,4,9]
print[[i[0] for i in groupby[x]]]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]

Bây giờ câu hỏi là, một trong những phương pháp trên là nhanh nhất?

Sử dụng thư viện

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
27 và
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
28, tôi vẽ biểu đồ thời gian thực hiện cho từng phương pháp đó

Có thể thấy cách thứ 3 [dùng thư viện itertools] là nhanh nhất trong 3 cách được thảo luận trong bài viết này

Hy vọng bạn thích bài viết này. Hãy cho tôi biết nếu bạn có một cách tốt hơn để làm điều này, thông qua các ý kiến

Giả sử ta có một xâu s, xâu này bao gồm "R" và "L", ta phải loại bỏ số ký tự ít nhất sao cho không có chữ "R" liền và chữ "L" liền nhau

Vì vậy, nếu đầu vào là "LLLRRR" thì đầu ra sẽ là "LRLR"

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đã xem. = ký tự đầu tiên của s
  • trả lời. = ký tự đầu tiên của s
  • đối với mỗi ký tự i từ chỉ mục 1 đến cuối s, hãy làm
    • nếu tôi không giống như đã thấy, thì
  • trả lại ans

Chúng ta hãy xem triển khai sau đây để hiểu rõ hơn -

Thí dụ

Bản thử trực tiếp

class Solution:
   def solve[self, s]:
      seen = s[0]
      ans = s[0]
      for i in s[1:]:
         if i != seen:
            ans += i
            seen = i
      return ans
ob = Solution[]
print[ob.solve["LLLRLRR"]]

Đầu vào

"LLLRLRR"

đầu ra

LRLR

Gợi ý. mô-đun itertools siêu hữu ích. Một chức năng đặc biệt, itertools. groupby, có thể thực sự hữu ích ở đây

itertools. nhóm [có thể lặp lại [, khóa]]

Tạo một trình vòng lặp trả về các khóa và nhóm liên tiếp từ vòng lặp. Khóa là một hàm tính toán giá trị khóa cho từng phần tử. Nếu không được chỉ định hoặc là Không, khóa sẽ mặc định là hàm nhận dạng và trả về phần tử không thay đổi. Nói chung, iterable cần phải được sắp xếp trên cùng một chức năng chính

Trong Python, chúng tôi thường muốn xóa các phần tử trùng lặp, nhưng đôi khi đối với một số trường hợp cụ thể, chúng tôi yêu cầu chỉ xóa các phần tử lặp lại liên tiếp. Đây là một nhiệm vụ khá dễ dàng và có một cách viết tắt cho nó có thể hữu ích. Hãy thảo luận về những cách nhất định trong đó nhiệm vụ này có thể được thực hiện. Phương pháp số 1. Sử dụng groupby[] + hiểu danh sách Sử dụng chức năng groupby, chúng ta có thể nhóm các phần tử xuất hiện cùng nhau thành một và có thể loại bỏ tất cả các phần tử trùng lặp liên tiếp và chỉ để một phần tử trong danh sách.  

Python3




x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
29

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
30

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
31

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
32
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
26
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
34
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
35

 

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
0

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
1
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
3
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
4
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
92
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
94
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
96
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
290
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
290
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
294
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
295

 

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
296

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
297
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
298
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
299
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
300
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
301
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
302
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
303
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
304

 

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
31

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
30

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
307
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
309
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
310
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
295
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
312
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
313
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
314
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
315

 

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
316

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
297
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
318
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
299
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
320
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
302 
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
303
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
323

đầu ra.

from itertools import groupby

x = [1,2,4,7,3,7,8,4,4,9]
print[[i[0] for i in groupby[x]]]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
0

Phương pháp #2. Sử dụng zip_longest[] + hiểu danh sách Chức năng này có thể được sử dụng để giữ phần tử và xóa các phần tử kế tiếp bằng cách sử dụng cắt. Hàm zip_longest thực hiện nhiệm vụ gom các giá trị lại với nhau trong một danh sách.  

Python3




x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
29

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
30

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
326

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
32
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
26
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
34
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
260

 

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
0

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
1
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
3
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
4
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
92
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
94
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
96
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
290
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
290
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
294
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
295

 

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
296

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
297
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
298
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
299
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
300
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
301
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
302
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
303
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
304

 

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
326

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
30

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
307
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
10
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
312
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
12
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
314
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
14
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
4
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
16

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
17
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
18
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
19
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
21

 

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
316

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
297
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
24
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
25
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
320
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
302 
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
303
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
323

đầu ra.

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]

Phương pháp #3. Sử dụng phép lặp Cách tiếp cận đang sử dụng vòng lặp for để lặp qua danh sách và một biến tạm thời để lưu phần tử được nhìn thấy lần cuối. Sau đó, bạn có thể kiểm tra xem phần tử hiện tại có giống với phần tử được nhìn thấy lần cuối hay không và nếu đúng như vậy, bạn có thể bỏ qua phần tử đó và tiếp tục bước lặp tiếp theo. Nếu nó không trùng lặp, bạn có thể thêm nó vào danh sách mới và cập nhật biến tạm thời thành phần tử hiện tại. Cách tiếp cận này đơn giản và dễ hiểu, nhưng nó có thể không hiệu quả bằng việc sử dụng các hàm itertools như groupby hoặc zip_longest

Dưới đây là một ví dụ về cách tiếp cận này có thể được thực hiện

Python3




The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
30
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
31

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
32
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
33

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
32
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
35
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
37

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
32
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
39

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
32
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
307
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
43

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
32
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
312
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
46
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
314
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
48

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
49
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
50

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
49
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
18
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
53
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
55

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
56____757

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
49
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
59

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
49
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
35
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
46

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
32
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
65
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
307

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
67

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
68

The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
1
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
2
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
3
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
4
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
92
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
94
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
96
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
6
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
290
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
290
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
5
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
294
x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
295

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
297
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
95
The original list is : [1, 4, 4, 4, 5, 6, 7, 4, 3, 3, 9]
List after removing consecutive duplicates : [1, 4, 5, 6, 7, 4, 3, 9]
96

Đầu ra

x = [1,2,4,7,3,7,8,4,4,9]

previous_value = None
new_lst = []

for elem in x:
   if elem != previous_value:
       new_lst.append[elem]
       previous_value = elem

print[new_lst]
>>> [1, 2, 4, 7, 3, 7, 8, 4, 9]
9

Độ phức tạp về thời gian của cách tiếp cận trên là O[n], trong đó n là độ dài của danh sách đầu vào. Điều này là do vòng lặp for lặp qua danh sách một lần và phần còn lại của các hoạt động [kiểm tra xem phần tử hiện tại có giống với phần tử được nhìn thấy lần cuối hay không và nối thêm phần tử vào danh sách kết quả] là các hoạt động thời gian không đổi

Độ phức tạp về không gian của cách tiếp cận trên cũng là O[n], vì nó tạo một danh sách mới để lưu trữ các phần tử sau khi loại bỏ các phần tử trùng lặp liên tiếp và kích thước của danh sách này bằng số lượng phần tử trong danh sách đầu vào. Điều này có nghĩa là độ phức tạp của không gian tỷ lệ thuận với kích thước của đầu vào

Chủ Đề