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

पायथन में पथ को सरल बनाएं

मान लीजिए कि हमारे पास फ़ाइल के लिए एक पूर्ण पथ है (जैसे यूनिक्स फाइल सिस्टम), हमें इसे सरल बनाना होगा। या दूसरे शब्दों में, हमें इसे विहित पथ में बदलना होगा। यूनिक्स-शैली फ़ाइल सिस्टम में, एक अवधि '।' वर्तमान निर्देशिका को संदर्भित करती है। और एक दोहरी अवधि '..' निर्देशिका को एक स्तर (मूल निर्देशिका) तक ले जाती है। विहित पथों के गुण इस प्रकार हैं।

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

तो उदाहरण के लिए, यदि दिए गए पथ "/home/", "/../" और "/home//user/" हैं, तो परिवर्तित पथ "/home", "/" और "/home/ उपयोगकर्ता”

आइए चरणों को देखें -

  • एक सूची st लें, और उसमें '/' डालें
  • a :=दिए गए पथ को सीमांकक '/' से विभाजित करने के बाद स्ट्रिंग्स की एक सूची
  • एक में प्रत्येक तत्व के लिए
    • अगर मैं डबल पीरियड है, तो
      • यदि st> 1 की लंबाई है, तो अंतिम तत्व को st से हटा दें, अन्यथा जारी रखें
    • अन्यथा अगर मैं सिंगल पीरियड हूं, तो जारी रखें
    • अन्यथा यदि खाली स्ट्रिंग नहीं है, तो st में ('/' concatenate i) डालें
  • यदि सेंट में केवल एक तत्व है, तो '/' वापस करें
  • सेंट में मौजूद सभी तत्वों को संयोजित करने के बाद वापस लौटें

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

class Solution:
   def simplifyPath(self, a):
      st = ['/']
      a = a.split("/")
      for i in a:
         if i == '..':
            if len(st) > 1:
               st.pop()
            else:
               continue
         elif i == '.':
            continue
         elif i != '':
            st.append("/" + str(i))
      if len(st) == 1:
         return "/"
      return "".join(st[1:])
ob1 = Solution()
print(ob1.simplifyPath("/home/"))
print(ob1.simplifyPath("/../"))
print(ob1.simplifyPath("/home//user/"))

इनपुट

"/home/"
"/../"
"/home//user/"

आउटपुट

/home
/
/home/user

  1. पायथन में पथ योग

    मान लीजिए कि हमारे पास एक पेड़ और एक योग है। हमें एक रास्ता ऐसा खोजना होगा कि अगर हम उस रास्ते पर चलेंगे तो हमें वह योग मिलेगा जो दिए गए योग से मेल खाएगा। मान लीजिए पेड़ [0,-3,9,-10, null,5] जैसा है और योग 14 है, तो एक पथ है 0 → 9 → 5 इसे हल करने के लिए, हम इन चरणों का पालन करेंगे। यदि जड़ शून

  1. न्यूनतम लागत पथ के लिए पायथन कार्यक्रम

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

  1. पायथन में पथ कैसे जोड़ें?

    पायथन एक प्रोग्रामिंग भाषा है जिसे पहली बार 1991 में जारी किया गया था। इसमें एक ऐसा एप्लिकेशन है जिसका उपयोग कई ऑपरेटिंग सिस्टम पर किया जा सकता है और डेवलपर्स इस पर नया कोड लिख और विकसित कर सकते हैं। पायथन सबसे व्यापक रूप से उपयोग की जाने वाली प्रोग्रामिंग भाषाओं में से एक है, क्योंकि इसमें डेवलपर औ