Hướng dẫn python remove duplicate lines from string - python xóa các dòng trùng lặp khỏi chuỗi

Tôi có một chuỗi trong Python và muốn xóa các dòng trùng lặp (tức là khi văn bản giữa \ n giống nhau, sau đó xóa lần xuất hiện thứ hai (thứ ba, thứ tư), nhưng bảo tồn thứ tự của chuỗi. Ví dụ:

line1 \n line2 \n line3 \n line2 \n line2 \n line 4

sẽ trở lại:

line1 \n line2 \n line3 \n line 4

Các ví dụ khác mà tôi đã thấy trên StackOverflow đối phó ở giai đoạn đọc tệp văn bản thành Python (ví dụ: sử dụng Readline (), xem có trong một tập hợp đọc trong các dòng, sau đó chỉ thêm vào chuỗi nếu nó là duy nhất). Trong trường hợp của tôi, điều này không hoạt động, vì chuỗi mà tôi đã bị thao túng nặng nề kể từ khi tải vào Python ... và nó có vẻ rất thất vọng, ví dụ: Viết toàn bộ chuỗi vào tệp TXT, sau đó đọc theo từng dòng để tìm kiếm các dòng trùng lặp

Chúng tôi được cung cấp một chuỗi và chúng tôi cần loại bỏ tất cả các bản sao khỏi nó? Điều gì sẽ là đầu ra nếu thứ tự của nhân vật quan trọng? Ví dụ:Examples:

Đầu vào: GeekSforGeeks & nbsp; đầu ra: efgkors geeksforgeeks 
Output : efgkors

Vấn đề này có giải pháp hiện tại Vui lòng tham khảo Xóa tất cả các bản sao khỏi một chuỗi đã cho. & NBSP;

Phương pháp 1: & NBSP; 

Python3

from collections import OrderedDict

line1 \n line2 \n line3 \n line 4
0
line1 \n line2 \n line3 \n line 4
1
line1 \n line2 \n line3 \n line 4
2

line1 \n line2 \n line3 \n line 4
4
line1 \n line2 \n line3 \n line 4
5
line1 \n line2 \n line3 \n line 4
6
line1 \n line2 \n line3 \n line 4
7
line1 \n line2 \n line3 \n line 4
8__12

line1 \n line2 \n line3 \n line 4
0
Without Order =  foskerg
With Order =  geksfor
2
line1 \n line2 \n line3 \n line 4
2

line1 \n line2 \n line3 \n line 4
4
line1 \n line2 \n line3 \n line 4
5
Without Order =  foskerg
With Order =  geksfor
7__12

Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
0
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
1
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
4
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
5

line1 \n line2 \n line3 \n line 4
4
line1 \n line2 \n line3 \n line 4
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
9

line1 \n line2 \n line3 \n line 4
4
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
1
line1 \n line2 \n line3 \n line 4
8
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
3
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
4
line1 \n line2 \n line3 \n line 4
2
Without Order =  foskerg
With Order =  geksfor
0

line1 \n line2 \n line3 \n line 4
4
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
1
line1 \n line2 \n line3 \n line 4
8
OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])
0
OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])
1__12

Đầu ra

Without Order =  foskerg
With Order =  geksfor

Độ phức tạp về thời gian: O (N) Không gian phụ trợ: O (N)
Auxiliary Space: O(n)

Phương pháp 2: & NBSP; 

Python3

line1 \n line2 \n line3 \n line 4
0
OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])
5
line1 \n line2 \n line3 \n line 4
2

line1 \n line2 \n line3 \n line 4
4
OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])
9
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
line1 \n line2 \n line3 \n line 4
7
line1 \n line2 \n line3 \n line 4
8
line1 \n line2 \n line3 \n line 4
2from4

line1 \n line2 \n line3 \n line 4
4
OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])
9
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2from8

line1 \n line2 \n line3 \n line 4
4
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
1
line1 \n line2 \n line3 \n line 4
8collections 2collections 3

line1 \n line2 \n line3 \n line 4
4collections 5
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
22

line1 \n line2 \n line3 \n line 4
4collections 9 import0import1
line1 \n line2 \n line3 \n line 4
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
5

import4

Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
0import6import1 import8

import9OrderedDict0

import4OrderedDict2

Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
5

import9collections 5

Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2collections 5OrderedDict8OrderedDict9

import4

{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
1
line1 \n line2 \n line3 \n line 4
8
line1 \n line2 \n line3 \n line 4
03
line1 \n line2 \n line3 \n line 4
04

line1 \n line2 \n line3 \n line 4
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
9

OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])
5
line1 \n line2 \n line3 \n line 4
2from4

Đầu ra

Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor

Độ phức tạp về thời gian: O (N) Không gian phụ trợ: O (N) O(n)
Auxiliary Space: O(n)

Đặt hàng và FromKeys () đặt hàng làm gì?

Một đơn đặt hàng là một từ điển nhớ rằng thứ tự của các khóa được chèn đầu tiên. Nếu một mục mới ghi đè lên một mục nhập hiện có, vị trí chèn ban đầu không thay đổi.

Ví dụ: xem đoạn mã bên dưới: & nbsp;

Python3

from collections import OrderedDict

line1 \n line2 \n line3 \n line 4
0
line1 \n line2 \n line3 \n line 4
1
line1 \n line2 \n line3 \n line 4
2

line1 \n line2 \n line3 \n line 4
4
line1 \n line2 \n line3 \n line 4
5
line1 \n line2 \n line3 \n line 4
6
line1 \n line2 \n line3 \n line 4
7
line1 \n line2 \n line3 \n line 4
8__12

line1 \n line2 \n line3 \n line 4
0
Without Order =  foskerg
With Order =  geksfor
2
line1 \n line2 \n line3 \n line 4
2

line1 \n line2 \n line3 \n line 4
4
line1 \n line2 \n line3 \n line 4
5
Without Order =  foskerg
With Order =  geksfor
7__12

Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
0
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
1
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
4
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
5

line1 \n line2 \n line3 \n line 4
4
line1 \n line2 \n line3 \n line 4
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
9

line1 \n line2 \n line3 \n line 4
4
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
1
line1 \n line2 \n line3 \n line 4
8
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
3
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
4
line1 \n line2 \n line3 \n line 4
2
Without Order =  foskerg
With Order =  geksfor
0

line1 \n line2 \n line3 \n line 4
4
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
1
line1 \n line2 \n line3 \n line 4
8
OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])
0
OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])
1__12

Độ phức tạp về thời gian: O (N) Không gian phụ trợ: O (N)

Phương pháp 2: & NBSP;

line1 \n line2 \n line3 \n line 4
0
OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])
5
line1 \n line2 \n line3 \n line 4
2

line1 \n line2 \n line3 \n line 4
4collections 5
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
22

line1 \n line2 \n line3 \n line 4
4collections 9 import0import1
line1 \n line2 \n line3 \n line 4
2
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
5

import4

Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
0import6import1 import8

Đầu ra

{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])

Độ phức tạp về thời gian: O (N) Không gian phụ trợ: O (1)
Auxiliary Space: O(1)

Độ phức tạp về thời gian: O (N) Không gian phụ trợ: O (N) creates a new dictionary with keys from seq and values set to value and returns list of keys, fromkeys(seq[, value]) is the syntax for fromkeys() method. Parameters :

  • SEQ: Đây là danh sách các giá trị sẽ được sử dụng để chuẩn bị khóa từ điển. This is the list of values which would be used for dictionary keys preparation.
  • Giá trị: Đây là tùy chọn, nếu được cung cấp thì giá trị sẽ được đặt thành giá trị này. This is optional, if provided then value would be set to this value.

Ví dụ: xem đoạn mã bên dưới: & nbsp;

Python3

from collections import OrderedDict

line1 \n line2 \n line3 \n line 4
79
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
line1 \n line2 \n line3 \n line 4
8
line1 \n line2 \n line3 \n line 4
82
line1 \n line2 \n line3 \n line 4
83
line1 \n line2 \n line3 \n line 4
84
line1 \n line2 \n line3 \n line 4
83
line1 \n line2 \n line3 \n line 4
86from4

line1 \n line2 \n line3 \n line 4
88
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
line1 \n line2 \n line3 \n line 4
90

{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
1
line1 \n line2 \n line3 \n line 4
8
line1 \n line2 \n line3 \n line 4
2
line1 \n line2 \n line3 \n line 4
8
line1 \n line2 \n line3 \n line 4
88
Without Order =  foskerg
With Order =  geksfor
0

line1 \n line2 \n line3 \n line 4
88
Without Order: kogerfs
With Order: g
With Order: ge
With Order: ge
With Order: gek
With Order: geks
With Order: geksf
With Order: geksfo
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
With Order: geksfor
2
line1 \n line2 \n line3 \n line 4
99
Without Order =  foskerg
With Order =  geksfor
00from4

{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
1
line1 \n line2 \n line3 \n line 4
8
line1 \n line2 \n line3 \n line 4
2
line1 \n line2 \n line3 \n line 4
8
line1 \n line2 \n line3 \n line 4
88
Without Order =  foskerg
With Order =  geksfor
07

Đầu ra

OrderedDict([('name', None), ('age', None), ('gender', None)])
OrderedDict([('name', 10), ('age', 10), ('gender', 10)])

Độ phức tạp về thời gian: O (N) Không gian phụ trợ: O (1)
Auxiliary Space: O(1)

Bài viết này được đóng góp bởi Shashank Mishra (Gullu). Nếu bạn thích GeekSforGeeks và muốn đóng góp, bạn cũng có thể viết một bài viết bằng Write.GeekSforGeek.org hoặc gửi bài viết của bạn. Xem bài viết của bạn xuất hiện trên trang chính của GeekSforGeek và giúp các chuyên viên máy tính khác. & NBSP;Shashank Mishra (Gullu). If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks. 


Làm thế nào để bạn loại bỏ các dòng trùng lặp trong Python?

Explanation:..
Trước hết, lưu đường dẫn của đường dẫn tệp đầu vào và đầu ra theo hai biến. ....
Tạo một biến bộ. ....
Mở tệp đầu ra ở chế độ ghi. ....
Bắt đầu một cho vòng lặp để đọc từ dòng tệp đầu vào từng dòng. ....
Tìm giá trị băm của dòng hiện tại. ....
Kiểm tra xem giá trị băm này đã có trong biến đã đặt hay không ..

Làm thế nào để tôi thoát khỏi các dòng trùng lặp?

Loại bỏ các giá trị trùng lặp..
Chọn phạm vi của các ô có giá trị trùng lặp bạn muốn xóa.Mẹo: Xóa bất kỳ phác thảo hoặc phụ nào khỏi dữ liệu của bạn trước khi cố gắng xóa các bản sao ..
Nhấp vào Dữ liệu> Xóa các bản sao, sau đó dưới các cột, kiểm tra hoặc bỏ chọn các cột nơi bạn muốn xóa các bản sao.....
Bấm OK ..

Làm thế nào để bạn loại bỏ các bản sao trong Python với các chuỗi liên tiếp?

Xóa tất cả các bản sao liên tiếp khỏi chuỗi bằng cách sử dụng phương pháp lặp:..
Tạo một chuỗi str để lưu trữ kết quả ..
Lặp lại Mẫu 0 đến Chuỗi độ dài - 2. Nếu ký tự hiện tại không bằng ký tự tiếp theo thì thêm nó vào chuỗi trả lời.Khác tiếp tục ..
trả lại str ..

Làm cách nào để tìm thấy các dòng trùng lặp trong Python?

Tập lệnh Python Python để tìm các dòng trùng lặp trong một tệp và xóa câu trả lời của mã..
line_seen = set () # giữ các dòng đã thấy ..
với mở ("file.txt", "r+") là f:.
d = f.Đoạn đọc ().
f.tìm kiếm (0).
cho tôi trong d:.
Nếu tôi không trong lines_seen:.
f.Viết (i).