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

पायथन मेकट्रांस () और अनुवाद () फ़ंक्शन

पायथन स्ट्रिंग मेकट्रांस ()

मेकट्रांस () विधि अनुवाद () विधि के लिए प्रयोग करने योग्य अनुवाद के लिए मानचित्रण तालिका लौटाती है। यह एक स्थिर विधि है जो एक चरित्र के अनुवाद/प्रतिस्थापन के लिए एक से एक मैपिंग बनाती है। यह विधि अनुवाद के लिए प्रत्येक वर्ण का एक यूनिकोड प्रतिनिधित्व बनाती है।

मेकट्रांस () विधि का सिंटैक्स है -

string.maketrans(x[, y[, z]])
y and z are optional arguments.

स्ट्रिंग मेकट्रांस() पैरामीटर

मेकट्रांस () विधि में 3 पैरामीटर हैं।

x - इस मामले में यदि केवल एक तर्क की आपूर्ति की जाती है, तो यह एक शब्दकोश होना चाहिए और शब्दकोश में एक एकल वर्ण स्ट्रिंग से इसके अनुवाद के लिए 1-टू-1 मैपिंग या इसके अनुवाद के लिए एक यूनिकोड संख्या ('ए' के ​​लिए 97) होनी चाहिए। ।

y - इस मामले में यदि दो तर्क पारित किए जाते हैं, तो यह समान लंबाई के साथ दो तार होने चाहिए और पहली स्ट्रिंग में प्रत्येक वर्ण दूसरी स्ट्रिंग में संबंधित अनुक्रमणिका के प्रतिस्थापन है।

z - इस मामले में यदि तीन तर्क पारित किए जाते हैं, तो तीसरे तर्क में प्रत्येक वर्ण को किसी से मैप नहीं किया जाता है।

स्ट्रिंग मेकट्रांस से वापसी मान ()

यह विधि एक अनुवाद तालिका को उसके अनुवाद/प्रतिस्थापन के लिए एक यूनिकोड ऑर्डिनल की 1-टू-1 मैपिंग के साथ लौटाती है।

उदाहरण1

Maketrans ()

. के साथ शब्दकोश का उपयोग करके अनुवाद तालिका

उदाहरण कोड

dict= {"a": "123", "b": "456", "c": "789"}
my_string = "abc"
print(my_string.maketrans(dict))
# example dictionary
dict = {97: "123", 98: "456", 99: "789"}
my_string = "abc"
print(my_string.maketrans(dict))

आउटपुट

{97: '123', 98: '456', 99: '789'}
{97: '123', 98: '456', 99: '789'}

स्पष्टीकरण - इस उदाहरण में, dict एक शब्दकोष है और इसमें क्रमशः a, b और c से 123, 456 और 789 वर्णों का मानचित्रण होता है। मेकट्रांस () चरित्र के यूनिकोड ऑर्डिनल की मैपिंग को उसके संबंधित अनुवाद के लिए बनाता है। तो, परिणाम 97 ('ए') को '123', 98 'बी' से 456 और 99 'सी' से 789 पर मैप किया गया है।

उदाहरण2

मेकट्रांस के साथ दो स्ट्रिंग्स का उपयोग करके अनुवाद तालिका ()

उदाहरण

my_string1 = "abc"
my_string2 = "def"
string = "abc"
print(string.maketrans(my_string1, my_string2))
# Example dictionary
my_string1 = "abc"
my_string2 = "defghi"
string = "abc"
print(string.maketrans(my_string1, my_string2))

आउटपुट

{97: 100, 98: 101, 99: 102}
ValueError: the first two maketrans arguments must have equal length

स्पष्टीकरण - इस उदाहरण में समान लंबाई "abc" और "def" के दो स्ट्रिंग्स को परिभाषित किया गया है। और संबंधित अनुवाद बनाया जाता है और केवल पहला अनुवाद प्रिंट करने से आपको my_string1 में प्रत्येक वर्ण के यूनिकोड ऑर्डिनल को my_string2 पर समान अनुक्रमित वर्ण के लिए 1-टू-1 मैपिंग मिलती है।

लेकिन इस मामले में, 97 ('ए') को 100 ('डी'), 98 ('बी') से 101 ('ई') और 99 ('सी') से 102 ('एफ') में मैप किया गया है और कोशिश कर रहा है असमान लंबाई वाली स्ट्रिंग्स के लिए अनुवाद तालिका बनाने के लिए एक ValueError अपवाद उत्पन्न होता है जो दर्शाता है कि स्ट्रिंग्स की लंबाई समान होनी चाहिए।

अनुवाद () . हम जानते हैं कि एक अनुवाद तालिका वर्णों को अन्य वर्णों के साथ मैप करती है। स्ट्रिंग्स में कई कैरेक्टर रिप्लेसमेंट करने के लिए हम पायथन में ट्रांसलेशन () मेथड का इस्तेमाल करते हैं। सबसे पहले हम maketrans() के साथ एक अनुवाद शब्दकोश बनाते हैं और इसे अनुवाद करने के लिए पास करते हैं।

पायथन प्रोग्राम जो मेकट्रांस, ट्रांसलेट का उपयोग करता है

#Python program that uses maketrans, translate
dict = str.maketrans("abc", "def")
print(dict)
# Translate this value.
value = "aabbcc"
result = value.translate(dict)
print(result)

आउटपुट

{97: 100, 98: 101, 99: 102}
ddeeff

पायथन प्रोग्राम जो अनदेखा करता है, वर्णों को हटाता है

# Create translation table.
table = str.maketrans("78", "12", "9")
# Translate this string.
input = "123456789"
result = input.translate(table)
# Write results.
print(input)
print(result)

आउटपुट

123456789
12345612

पायथन प्रोग्राम जो Rot13 अनुवाद लागू करता है

#Create translation table.
trans = str.maketrans("abcdefghijklmnopqrstuvwxyz","nopqrstuvwxyzabcdefghijklm")
# Apply rot13 translation.
print("gandalf".translate(trans))
print("gandalf".translate(trans).translate(trans))

आउटपुट

tnaqnys
gandalf

  1. पायथन में कच्चे_इनपुट () और इनपुट () कार्यों के बीच क्या अंतर है?

    फ़ंक्शन raw_input() उपयोगकर्ता को एक संकेत प्रस्तुत करता है (raw_input([arg]) का वैकल्पिक तर्क), उपयोगकर्ता से इनपुट प्राप्त करता है और उपयोगकर्ता द्वारा डेटा इनपुट को एक में लौटाता है डोरी। उदाहरण के लिए, name = raw_input("What isyour name? ") print "Hello, %s." %name यह इनपुट

  1. किसी दिए गए शब्दकोश के अनुसार एक पायथन स्ट्रिंग का अनुवाद कैसे करें?

    हम अनुवाद () विधि का उपयोग कर सकते हैं जो स्ट्रिंग की एक प्रति देता है जिसमें सभी वर्णों का अनुवाद तालिका का उपयोग करके किया गया है (स्ट्रिंग मॉड्यूल में मेकट्रांस () फ़ंक्शन के साथ निर्मित), वैकल्पिक रूप से स्ट्रिंग डिलीटचर्स में पाए गए सभी वर्णों को हटाना। उदाहरण from string import maketrans &nb

  1. पायथन फ़ंक्शन हैशबल क्यों और कैसे हैं?

    एक वस्तु को हैश करने योग्य कहा जाता है यदि उसके पास हैश मान है जो उसके जीवनकाल के दौरान समान रहता है। इसकी एक __hash__() विधि है और इसकी तुलना अन्य वस्तुओं से की जा सकती है। इसके लिए इसे __eq__() या __cmp__() विधि की आवश्यकता होती है। यदि हैश करने योग्य वस्तुएँ तुलना करने पर समान होती हैं, तो उनका ह