Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

FuzzyWuzzy Python लाइब्रेरी

इस ट्यूटोरियल में, हम FuzzyWuzzy Python लाइब्रेरी के बारे में सीखेंगे। FuzzyBuzzy लाइब्रेरी दो स्ट्रिंग की तुलना करने के लिए विकसित की गई है। हमारे पास स्ट्रिंग की तुलना करने के लिए regex, difflib जैसे अन्य मॉड्यूल हैं। लेकिन, FuzzyBuzzy अपने तरीके से अद्वितीय है। इस लाइब्रेरी के मेथड true, false या string के बजाय 100 में से स्कोर लौटाते हैं कि स्ट्रिंग कितनी मेल खाती हैं।

FuzzyWuzzy लाइब्रेरी के साथ काम करने के लिए, हमें fuzzywuzzy और python-Levenshtein इंस्टॉल करना होगा। उन्हें इंस्टॉल करने के लिए निम्न कमांड चलाएं।

pip install fuzzywuzzy

यदि आप उपरोक्त कमांड चलाते हैं, तो आपको निम्न सफल संदेश मिलेगा।

Collecting fuzzywuzzy
Downloading https://files.pythonhosted.org/packages/d8/f1/5a267addb30ab7eaa1beab2b9323073815da4551076554ecc890a3595ec9/fuzzywuzzy-0.17.0-py2.py3-none-any.whl
Installing collected packages: fuzzywuzzy
Successfully installed fuzzywuzzy-0.17.0

python-Levenshtein इंस्टॉल करने के लिए Linux में निम्न कमांड चलाएं।

pip install python-Levenshtein

Windows में निम्न कमांड चलाएं।

easy_install python-Levenshtein

fuzz

अब, हम fuzz मॉड्यूल के बारे में सीखेंगे। fuzz का उपयोग एक समय में दो स्ट्रिंग की तुलना करने के लिए किया जाता है। इसके अलग-अलग मेथड हैं जो 100 में से स्कोर लौटाते हैं। आइए fuzz मॉड्यूल के कुछ मेथड देखें।

fuzz.ratio()

आइए fuzz मॉड्यूल के पहले मेथड ratio को देखें। इसका उपयोग दो स्ट्रिंग की तुलना करने के लिए किया जाता है जो 100 में से स्कोर लौटाता है। स्पष्ट विचार प्राप्त करने के लिए नीचे दिए गए उदाहरण देखें।

उदाहरण

## fuzzywuzzy लाइब्रेरी से मॉड्यूल आयात करें
from fuzzywuzzy import fuzz

## समान स्ट्रिंग के लिए 100
print(f"Equal Strings:- {fuzz.ratio('tutorialspoint', 'tutorialspoint')}")

## स्ट्रिंग में मामूली बदलाव के लिए रैंडम स्कोर
print(f"Slight Changed Strings:- {fuzz.ratio('tutorialspoint', 'TutorialsPoint')}")
print(f"Slight Changed Strings:- {fuzz.ratio('tutorialspoint', 'Tutorials Point')}")

## पूरी तरह से अलग स्ट्रिंग
print(f"Different Strings:- {fuzz.ratio('abcd', 'efgh')}")

आउटपुट

Max Score:- 100
Slight Changed Strings:- 86
Slight Changed Strings:- 86
Different Strings:- 0

partial_ratio के साथ जितना संभव हो उतना प्रयोग करें बेहतर समझ के लिए।

fuzz.WRatio()

fuzz.WRatio() अपर और लोअर केस और कुछ अन्य पैरामीटर को संभालता है। आइए कुछ उदाहरण देखें।

उदाहरण

## fuzzywuzzy लाइब्रेरी से मॉड्यूल आयात करें
from fuzzywuzzy import fuzz

## 100 स्कोर भले ही एक स्ट्रिंग में दूसरे से अधिक वर्ण हों
print(f"Max Score:- {fuzz.WRatio('tutorialspoint', 'tutorialspoint!!!')}")

## स्ट्रिंग में मामूली बदलाव के लिए रैंडम स्कोर
print(f"Slight Changed Strings:- {fuzz.WRatio('tutorialspoint', 'TutorialsPoint')}")
print(f"Slight Changed Strings:- {fuzz.WRatio('tutorialspoint', 'TutorialsPoint')}") 

## पूरी तरह से अलग स्ट्रिंग
print(f"Different Strings:- {fuzz.ratio('abcd', 'efgh')}")

आउटपुट

Max Score:- 100
Slight Changed Strings:- 100
Slight Changed Strings:- 100
Different Strings:- 0

WRatio केस और कुछ अतिरिक्त वर्णों को नज़रअंदाज़ करता है जैसा कि हम देखते हैं। साधारण ratio के बजाय WRatio का उपयोग करने से आपको अधिक निकट मिलान वाली स्ट्रिंग मिलती हैं।

निष्कर्ष

यदि ट्यूटोरियल के संबंध में आपके कोई संदेह हैं, तो उन्हें कमेंट सेक्शन में उल्लेख करें।

  1. - पायथन में स्ट्रिंग्स का ग्रेटेस्ट कॉमन डिवाइजर

    मान लीजिए दो स्ट्रिंग्स A और B हैं। हम कह सकते हैं कि A, B से विभाज्य है, जब A, B को एक या अधिक बार कंकेटनेट करके बनाया जाता है। इसलिए यदि A = abcabc, और B = abc, तो A, B से विभाज्य है। इस खंड में, हम देखेंगे कि स्ट्रिंग का ग्रेटेस्ट कॉमन डिवाइजर क्या है। इसलिए सबसे बड़ी स्ट्रिंग लौटाएं जो दोनों स्

  1. - Python में Strings पर % Operator क्या करता है?

    % String Formatting Operator % एक String Formatting Operator या Interpolation Operator है। दिए गए format % values (जहां Format एक String है), Format में % Conversion Specifications को Values के Zero या अधिक Elements से Replace किया जाता है। Effect C Language में sprintf() का उपयोग करने के समान है।

  1. - पायथन में स्ट्रिंग्स की सूची को कैसे सॉर्ट करें?

    किसी सूची को इन-प्लेस सॉर्ट करने के लिए, यानी सूची को स्वयं सॉर्ट करना और उस सूची में क्रम को बदलना, आप स्ट्रिंग्स की सूची पर sort() का उपयोग कर सकते हैं। उदाहरण के लिए, >>> a = [Hello, My, Followers] >>> a.sort() >>> print(a) [Followers, Hello, My] यदि आप मूल सूची को बरकर