में एक शब्दकोश का उपयोग कर सबस्ट्रिंग मैं इस स्ट्रिंगस्थानापन्न अजगर
message = '10100010011'
और इस शब्दकोश
codes = {97: '1', 98: '01', 107: '001', 114: '000'}
है और मैं इस
[97, 98, 114, 97, 107, 97]
की तरह कुछ करने के लिए शब्दकोश का उपयोग कर मूल संदेश स्थानापन्न करने की जरूरत है
मैंने अपना रास्ता तय किया, जो काम करता है, लेकिन जब मैं कुछ वास्तविक बड़े तारों का उपयोग करता हूं, तो यह वास्तव में धीमा है। क्या इससे ऐसा करने का कोई तेज तरीका है?
codes = dict(zip(codes.values(), codes.keys()))
decoded_mess = []
pom = ""
for i in message:
pom += i
if pom in codes:
decoded_mess.append(codes[pom])
pom = ""
मैं यहाँ उत्तर Easiest way to replace a string using a dictionary of replacements? देखा और मुझे लगता है कि कोशिश की, लेकिन यह मेरे लिए काम नहीं किया। शायद क्योंकि वे पूरे शब्दों से निपट रहे हैं, लेकिन मेरे पास 1s और 0s की 1 लंबी स्ट्रिंग है।
अपने शब्दकोश चारों ओर गलत तरीके से नहीं है? और चाबियाँ (या मान, वर्तमान में) सभी को निश्चित लंबाई नहीं होनी चाहिए? – jonrsharpe
@jonrsharpe वह समाधान में कुंजी-मूल्यों को स्वैप कर रहा है। – Maroun
@MarounMaroun ओह ... तो क्यों अलग से दिखाओ ?! – jonrsharpe