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]
26from 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
29x = [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]
30x = [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]
31x = [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]
32x = [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]
26x = [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]
34x = [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]
35x = [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]
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]0The 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]1The 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]2The 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]3The 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]4The 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]5The 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]6The 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]5The 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]6The 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]5The 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]6The 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]592x = [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]
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]594x = [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]
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]596x = [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]
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]5The 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]6The 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]5290x = [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]
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]5290x = [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]
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]5294x = [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]
295x = [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]
296x = [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]
297x = [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]
298x = [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]
299x = [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]
300x = [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]
301x = [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]
302x = [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]
303x = [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]
304x = [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]
31x = [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]
30x = [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]
307x = [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]
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]2309x = [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]
310x = [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]
295x = [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]
312x = [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]
313x = [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]
314x = [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]
315x = [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]
316x = [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]
297x = [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]
318x = [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]
299x = [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]
320x = [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]
302x = [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]
303x = [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]
323x = [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]
đầu ra.
0from 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]
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
29x = [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]
30x = [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]
326x = [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]
32x = [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]
26x = [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]
34x = [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]
260x = [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]
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]0The 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]1The 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]2The 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]3The 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]4The 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]5The 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]6The 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]5The 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]6The 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]5The 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]6The 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]592x = [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]
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]594x = [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]
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]596x = [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]
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]5The 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]6The 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]5290x = [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]
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]5290x = [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]
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]5294x = [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]
295x = [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]
296x = [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]
297x = [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]
298x = [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]
299x = [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]
300x = [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]
301x = [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]
302x = [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]
303x = [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]
304x = [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]
326x = [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]
30x = [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]
307x = [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]
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]2The 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]10312x = [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]
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]12314x = [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]
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]14The 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]4The 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]16The 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]17The 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]18The 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]19The 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]2The 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
316x = [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]
297x = [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]
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]24The 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]25320x = [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]
302x = [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]
303x = [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]
323x = [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]
đầ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]30The 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]31The 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]32The 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]33The 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]32The 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]35The 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]2The 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]37The 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]32The 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]39The 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]32307x = [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]
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]2The 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]43The 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]32312x = [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]
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]46314x = [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]
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]48The 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]49The 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]50The 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]49The 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]18The 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]53The 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]2The 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]55The 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____757The 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]49The 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]59The 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]49The 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]35The 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]2The 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]46The 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]32The 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]65307x = [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]
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]67The 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]68The 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]1The 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]2The 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]3The 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]4The 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]5The 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]6The 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]5The 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]6The 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]5The 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]6The 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]592x = [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]
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]594x = [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]
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]596x = [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]
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]5The 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]6The 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]5290x = [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]
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]5290x = [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]
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]5294x = [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]
295x = [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]
297x = [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]
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]95The 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
9x = [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ứ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