एनएलपी | Redis . में सॉर्ट किए गए शब्दकोश को संग्रहीत करना

| | | | | | |

class RedisOrderedDict (Collections.MutableMapping):

def कोड> <कोड वर्ग = "सादा"> __ init__ ( <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा">, आर, नाम): p>

self ._ r = आर

कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा"> ._नाम <कोड वर्ग = "कीवर्ड" > = <कोड वर्ग = "सादा"> encode_key (नाम)

<कोड वर्ग = "अपरिभाषित रिक्त स्थान" >

< कोड वर्ग = "कीवर्ड"> डीईएफ़ <कोड वर्ग = "सादा"> __ iter __ ( <कोड वर्ग = "रंग 1"> स्वयं <कोड ई वर्ग = "सादा"> ):

return iter ( self . आइटम्स ())


def __ len __ ( स्वयं <कोड वर्ग = "सादा">):

<पी> कोड वर्ग = "कीवर्ड"> वापसी <कोड वर्ग = "रंग 1 "> स्वयं <कोड वर्ग = "सादा"> ._r.zcard ( <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा"> ._ नाम)


def __ getitem __ ( self , key):

रिटर्न self ._ r.zscore ( self । _नाम, एन्कोड_की (कुंजी))


<कोड वर्ग = "अपरिभाषित रिक्त स्थान"> <कोड वर्ग = "कीवर्ड"> डीईएफ़ <कोड वर्ग = "सादा"> __ setitem __ ( <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = " प्लेन">, की, स्कोर):

self ._r.zadd ( self ._ name, encode_key (key), Score)

<कोड वर्ग = "कीवर्ड"> डीईएफ़ <कोड वर्ग = "सादा"> __ delitem __ ( <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा"> , key):

self ._ r.zrem ( स्वयं <कोड वर्ग = "सादा"> ._ नाम, e ncode_key (कुंजी))


<कोड वर्ग = "कीवर्ड"> def <कोड वर्ग = "सादा"> कुंजी ( <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा">, प्रारंभ करें <कोड वर्ग = " कीवर्ड"> = <कोड वर्ग = "मान"> 0 <कोड वर्ग = "सादा">, अंत <कोड वर्ग = "कीवर्ड"> = <कोड क्लास = "कीवर्ड"> - <कोड क्लास = "वैल्यू"> 1 <कोड क्लास = "प्लेन">):

कोड क्लास = " टिप्पणियाँ" > # हम कुंजियों को सॉर्ट करने के लिए zrevrange का उपयोग करते हैं

# < के बजाय मान के आधार पर /p>

<कोड वर्ग = "सादा"> निम्नतम

<कोड वर्ग = "कीवर्ड"> वापसी <कोड वर्ग = "रंग1"> स्वयं कोड> <कोड वर्ग = "सादा"> ._ r.zrevrange ( self ._ name, start, end)

<कोड वर्ग = "कीवर्ड"> def मान ( self , start = <कोड वर्ग = "मान"> 0 <कोड वर्ग = "सादा">, अंत <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "कीवर्ड"> - < /कोड> <कोड वर्ग = "मान"> 1 <कोड वर्ग = "सादा">):

<कोड वर्ग = "कीवर्ड"> वापसी <कोड वर्ग = "सादा"> [वी <कोड वर्ग = "कीवर्ड"> के लिए <कोड वर्ग = "सादा"> ( के, वी) <कोड वर्ग = "कीवर्ड"> में <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा">। आइटम (प्रारंभ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> प्रारंभ, अंत <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> अंत)]


कोड वर्ग = "कीवर्ड"> डीईएफ़ <कोड वर्ग = "सादा"> आइटम ( <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा">, प्रारंभ करें <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "मान"> 0 <कोड वर्ग = "सादा">, अंत <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "कीवर्ड"> - <कोड वर्ग = "मान "> 1 <कोड वर्ग =" सादा ">):

कोड वर्ग =" अपरिभाषित रिक्त स्थान "> <कोड वर्ग = "कीवर्ड"> वापसी self ._ r.zrevrange ( self ._ नाम, प्रारंभ, अंत, अंकों के साथ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "रंग 1"> सही <कोड वर्ग = " प्लेन">)

<कोड वर्ग = "अपरिभाषित रिक्त स्थान"> <कोड वर्ग = "कीवर्ड"> def <कोड वर्ग = "सादा"> प्राप्त करें ( <कोड वर्ग = "रंग 1" > स्वयं <कोड वर्ग = "सादा">, कुंजी, डिफ़ॉल्ट <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "मान"> 0 <कोड वर्ग = "सादा">):

कोड वर्ग = "कीव ऑर्ड"> वापसी <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा"> [कुंजी] <कोड वर्ग =" कीवर्ड "> या <कोड वर्ग = "सादा"> डिफ़ॉल्ट


<कोड वर्ग = "कीवर्ड"> डीईएफ़ <कोड वर्ग = "सादा"> पुनरावृत्त ( <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा">):

<कोड वर्ग = "कीवर्ड"> वापसी <कोड वर्ग = "कार्य"> iter <कोड वर्ग = "सादा"> ( <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा">)


<पी> कोड वर्ग = "कीवर्ड"> डीईएफ़ <कोड वर्ग = "सादा"> स्पष्ट ( self ):

<कोड वर्ग = "अपरिभाषित रिक्त स्थान" > <कोड वर्ग = "रंग1"> स्वयं <कोड वर्ग = "सादा"> ._ r. हटाएं ( <कोड वर्ग = "रंग 1"> स्वयं <कोड वर्ग = "सादा"> ._ नाम)

कोड: RedisOrderedDict इंस्टेंस बनाने के लिए Redis कनेक्शन और अद्वितीय नाम पास करें

<कोड वर्ग = "कीवर्ड"> से <कोड वर्ग = "सादा"> रेडिस <कोड वर्ग = "कीवर्ड"> आयात <कोड वर्ग = "सादा"> रेडिस code>

redisCollections import RedisOrderedDict


< कोड वर्ग = "सादा"> r <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> रेडिस ()

<कोड वर्ग = "सादा"> रॉड <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = " प्लेन"> RedisOrderedDict (r, `test` )

rod.get ( ` bar` )

छड़ [ `bar` ] = 5.2

<कोड क्लास = "कीवर्ड"> प्रिंट <कोड क्लास = "प्लेन"> (रॉड [ <कोड क्लास = "स्ट्रिंग" "> `बार` <कोड वर्ग =" सादा ">])


कोड वर्ग = "कीवर्ड"> प्रिंट <कोड वर्ग = "सादा"> ( len (रॉड))


प्रिंट <कोड क्लास = "प्लेन"> (रॉड.आइटम ())


<कोड क्लास = "प्लेन"> रॉड। clear ()

बाहर निकलें:

 0 5.2000000000000002 1 [(b`bar`, 5.2)] 

अधिकांश कोड एक जैसे लग सकते हैं ar से RedisHashMap, जिसकी अपेक्षा की जा सकती है क्योंकि वे दोनों संग्रह का विस्तार करते हैं। मुख्य अंतर यह है कि RedisOrderedSet फ़्लोटिंग पॉइंट मानों द्वारा कुंजियों का आदेश देता है, और इसलिए RedisHashMap जैसे प्रमुख मानों के मनमाने भंडारण के लिए उपयुक्त नहीं है।
प्रत्येक प्रमुख विधि की व्याख्या करने वाले रेखाचित्र और वे रेडिस के साथ कैसे काम करते हैं:

  • __len __ (): zcard कमांड का उपयोग वस्तुओं की संख्या प्राप्त करने के लिए किया जाता है एक आदेशित सेट।
  • __getitem __ (): कुंजी के लिए स्कोर प्राप्त करने के लिए zscore कमांड का उपयोग करता है और यदि कुंजी मौजूद नहीं है तो 0 लौटाता है।
  • __ setitem __ (): यह कमांड दिए गए स्कोर के साथ ऑर्डर किए गए सेट में एक कुंजी जोड़ने के लिए zadd कमांड का उपयोग करता है, या यदि कुंजी पहले से मौजूद है तो स्कोर को अपडेट करें।
  • __delitem __ (): zrem कमांड का उपयोग ऑर्डर किए गए सेट से एक कुंजी को हटाने के लिए किया जाता है।
  • कुंजी (): zrevrange कमांड का उपयोग उच्चतम स्कोर द्वारा क्रमबद्ध सेट में सभी कुंजियों को प्राप्त करने के लिए किया जाता है। आदेशित कुंजियों का एक स्निपेट अधिक कुशलता से प्राप्त करने के लिए दो वैकल्पिक कीवर्ड तर्कों की आवश्यकता होती है, प्रारंभ और समाप्ति।

एनएलपी | Redis . में सॉर्ट किए गए शब्दकोश को संग्रहीत करना __del__: Questions

एनएलपी | Redis . में सॉर्ट किए गए शब्दकोश को संग्रहीत करना __delete__: Questions

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method