Làm thế nào để tôi tìm thấy một từ trong một con trăn văn bản?

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách in tất cả các từ dài nhất từ ​​một tệp văn bản đã cho bằng python. Từ dài nhất là từ có cùng độ dài với từ dài nhất (độ dài tối đa) trong tệp văn bản

Giả sử chúng tôi đã lấy một tệp văn bản có tên ExampleTextFile. txt bao gồm một số văn bản ngẫu nhiên. Chúng tôi sẽ trả về tất cả các từ dài nhất từ ​​một tệp văn bản nhất định

Ví dụVăn bảnTệp. txt

Good Morning Tutorials Point
This is Tutorials Point sample File
Consisting of Specific
abbreviated
source codes in Python Seaborn Scala
Imagination
Summary and Explanation
Welcome user
Learn with a joy

Thuật toán (Các bước)

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Tạo một biến để lưu đường dẫn của tệp văn bản

  • Sử dụng hàm open() (mở tệp và kết quả là trả về một đối tượng tệp) để mở tệp văn bản ở chế độ chỉ đọc bằng cách chuyển tên tệp và chế độ làm đối số cho tệp  (Ở đây “r” biểu thị chỉ đọc

with open(inputFile, 'r') as filedata:
  • Tạo một biến để đọc dữ liệu tệp văn bản bằng hàm read() (đọc số byte được chỉ định từ tệp và trả về chúng. Giá trị mặc định là -1, có nghĩa là toàn bộ tệp) và chia nó thành danh sách các từ của tệp văn bản đã cho bằng cách sử dụng hàm split() (chia chuỗi thành danh sách. Chúng ta có thể định nghĩa dấu phân cách;

  • Tìm độ dài của từ dài nhất bằng hàm len() (Số lượng mục trong một đối tượng được trả về bằng phương thức len(). Nó trả về số lượng ký tự trong một chuỗi khi đối tượng là một chuỗi) và các hàm max() (trả về mục có giá trị cao nhất hoặc mục có giá trị cao nhất trong một lần lặp) từ danh sách từ ở trên

len(max(words List, key=len))
  • Key=len chỉ định rằng chúng ta phải lấy từ tùy thuộc vào độ dài của nó và chúng ta sẽ lấy từ có độ dài tối đa bằng cách sử dụng hàm max() và độ dài của từ có độ dài tối đa bằng cách sử dụng hàm len()

  • Sử dụng khả năng hiểu danh sách, lấy tất cả các từ có độ dài dài nhất và lưu chúng vào một biến khác. Ở đây chúng tôi đang duyệt qua từng từ của tệp và kiểm tra xem độ dài của từ đó có bằng độ dài của từ dài nhất hay không bằng cách sử dụng vòng lặp for trong cách hiểu danh sách

list comprehension:
  • Khi bạn muốn tạo danh sách mới dựa trên các giá trị của danh sách hiện có, tính năng hiểu danh sách cung cấp cú pháp ngắn hơn/súc tích

  • In tất cả các từ dài nhất từ ​​một tệp văn bản nhất định

  • Đóng tệp đầu vào bằng hàm close() (dùng để đóng tệp đã mở)

Thí dụ

Chương trình sau kiểm tra độ dài của từ dài nhất và in tất cả các từ có cùng độ dài với từ dài nhất từ ​​một tệp văn bản đã cho -

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

The following are the longest words from a text file:
['abbreviated', 'Imagination', 'Explanation']

Chúng tôi đọc một số văn bản ngẫu nhiên từ một tệp văn bản trong chương trình này. Chúng tôi đọc qua toàn bộ tệp và chia nhỏ thành các từ. Chúng tôi đã xác định độ dài của từ có độ dài tối đa sau khi chúng tôi thu được các từ. Sau đó, chúng tôi xem qua tệp từng từ một, kiểm tra xem độ dài của từ tương ứng có bằng độ dài của từ có độ dài tối thiểu không. Nếu đúng, chúng tôi sẽ in những từ đó và đóng tệp đang mở

Sự kết luận

Vì vậy, từ bài viết này, chúng tôi đã học cách đọc toàn bộ nội dung tệp cùng một lúc, điều này hữu ích cho việc tìm kiếm bất kỳ từ nào trong toàn bộ tài liệu thay vì tìm kiếm từng dòng. Chúng ta cũng đã học cách chia nội dung tệp thành các từ bằng cách sử dụng hàm split() và xác định độ dài của từ ngắn nhất. Sau khi xác định được độ dài tối đa, chúng ta đã học cách quét toàn bộ nội dung tệp để tìm các từ có độ dài tối đa

Tìm các từ duy nhất trong một tệp văn bản yêu cầu làm sạch văn bản, tìm các từ và sau đó tìm từ duy nhất

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách tìm các từ duy nhất trong một tệp văn bản

Các bước tìm từ độc đáo

Để tìm các từ duy nhất trong một tệp văn bản, hãy làm theo các bước sau

  1. Đọc tệp văn bản ở chế độ đọc
  2. Chuyển đổi văn bản thành chữ thường hoặc chữ hoa. Chúng tôi không muốn 'quả táo' khác với 'Apple'
  3. Tách nội dung tệp thành danh sách các từ
  4. Làm sạch các từ bị nhiễm dấu câu. Một cái gì đó như tước các từ khỏi dấu chấm, dấu phẩy, v.v.
  5. Ngoài ra, hãy xóa dấu nháy đơn 's
  6. Bạn cũng có thể bổ sung thêm các bước làm sạch văn bản tại đây
  7. Bây giờ hãy tìm các từ duy nhất trong danh sách bằng Python For Loop và Python Membership Operator
  8. Sau khi tìm thấy các từ độc đáo, hãy sắp xếp chúng để trình bày

Trong phần làm sạch văn bản, bạn cũng có thể loại bỏ trợ động từ, v.v.

ví dụ 1. Tìm các từ duy nhất trong tệp văn bản

Bây giờ, chúng tôi sẽ đưa tất cả các bước được đề cập ở trên vào hoạt động bằng chương trình Python

Hãy xem xét rằng chúng tôi đang lấy tệp văn bản sau

Apple is a very big company. An apple a day keeps doctor away. A big fat cat came across the road beside doctor's office.
The doctor owns apple device.

Chương trình Python

text_file = open('data.txt', 'r')
text = text_file.read()

#cleaning
text = text.lower()
words = text.split()
words = [word.strip('.,!;()[]') for word in words]
words = [word.replace("'s", '') for word in words]

#finding unique
unique = []
for word in words:
    if word not in unique:
        unique.append(word)

#sort
unique.sort()

#print
print(unique)

đầu ra

['a', 'across', 'an', 'apple', 'away', 'beside', 'big', 'came', 'cat', 'company', 'day', 'device', 'doctor', 'fat', 'is', 'keeps', 'office', 'owns', 'road', 'the', 'very']

Dịch các bước sang mã Python

Sau đây là danh sách các khái niệm Python mà chúng tôi đã sử dụng trong chương trình trên để tìm các từ duy nhất

  • open() để lấy tham chiếu đến đối tượng tệp
  • tập tin. read() để đọc nội dung của tập tin
  • str. Lower() phương thức chuyển văn bản thành chữ thường
  • str. split() để chia văn bản thành các từ được phân tách bằng các ký tự khoảng trắng như dấu cách đơn, dòng mới, tab, v.v.
  • str. phương thức strip() để loại bỏ các dấu chấm câu khỏi các cạnh của từ
  • str. phương thức replace() để thay thế 's không có gì, ở cuối từ
  • vòng lặp for để lặp cho từng từ trong danh sách từ
  • in – toán tử thành viên để kiểm tra xem từ có ở dạng duy nhất không
  • danh sách. append() để thêm từ vào danh sách duy nhất
  • danh sách. phương thức sort() để sắp xếp các từ duy nhất theo thứ tự tăng dần từ điển
  • hàm print() để in danh sách các từ duy nhất

Bản tóm tắt

Trong hướng dẫn về Ví dụ Python này, chúng ta đã học cách tìm các từ duy nhất trong tệp văn bản, với sự trợ giúp của chương trình ví dụ