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

पायथन का उपयोग करके फ़ाइल नामों को अद्वितीय बनाने का प्रोग्राम


मान लीजिए हमारे पास n स्ट्रिंग्स की एक सरणी names है। हमें फाइल सिस्टम में n डायरेक्टरी बनानी हैं जैसे कि, iवें मिनट में, हम names[i] नाम से एक डायरेक्टरी बनाएंगे। दो फाइलों का नाम समान नहीं हो सकता, यदि हम डुप्लिकेट डायरेक्टरी नाम दर्ज करते हैं तो सिस्टम उसके नाम में (k) रूप में सफ़िक्स जोड़ देगा, यहां k सबसे छोटा सकारात्मक पूर्णांक है जिससे प्राप्त नाम अद्वितीय रहे। हमें लंबाई n की स्ट्रिंग्स की एक सरणी ढूंढनी है जहां ans[i] वह वास्तविक नाम है जो ith डायरेक्टरी को बनाने पर असाइन किया जाएगा।

उदाहरण के लिए, यदि इनपुट names = ["my_dir","my_dir(1)","my_new_dir","my_new_dir","abc"] है, तो आउटपुट ['my_dir', 'my_dir(1)', 'my_new_dir', 'my_new_dir(1)', 'abc'] होगा क्योंकि "my_new_dir" पहले से मौजूद है, फिर पहले के बाद (1) जोड़ा जाता है।

हल करने के चरण

  • dic := एक नया मैप, यदि कोई कुंजी मौजूद नहीं है तो 0 वापस करें

  • res := एक नई सूची

  • names में प्रत्येक name के लिए, करें

    • यदि name, dic में नहीं है, तो

      • dic[name] := dic[name] + 1

      • name को res के अंत में डालें

    • अन्यथा,

      • newname := name + '(' + dic[name] + ')'

      • जब तक newname, dic में मौजूद है, करें

        • dic[name] := dic[name] + 1

        • newname := name + '(' + dic[name] + ')'

      • dic[newname] := 1

      • newname को res के अंत में डालें

  • res वापस करें

उदाहरण

from collections import defaultdict
def solve(names):
    dic = defaultdict(int)
    res = []
    for name in names:
        if name not in dic:
            dic[name] += 1
            res.append(name)
        else:
            newname = name + '(' + str(dic[name]) + ')'
            while newname in dic:
                dic[name] += 1
                newname = name + '(' + str(dic[name]) + ')'
            dic[newname] = 1
            res.append(newname)
    return res

names = ["my_dir","my_dir(1)","my_new_dir","my_new_dir","abc"]
print(solve(names))

इनपुट

["my_dir","my_dir(1)","my_new_dir","my_new_dir","abc"]

आउटपुट

['my_dir', 'my_dir(1)', 'my_new_dir', 'my_new_dir(1)', 'abc']
  1. पायथन का उपयोग करके PDF को CSV में कन्वर्ट करें पायथन का उपयोग करके PDF को CSV में कन्वर्ट करें

    पायथन अपने विशाल पैकेज लाइब्रेरी के लिए जाना जाता है। लाइब्रेरी की मदद से, हम देखेंगे कि PDF को CSV फ़ाइल में कैसे कन्वर्ट करें। CSV फ़ाइल कुछ भी नहीं है बल्कि डेटा का संग्रह है, जिसे रो और कॉलम के सेट के साथ फ्रेम किया गया है। पायथन लाइब्रेरी में PDF को CSV में कन्वर्ट करने के लिए विभिन्न पैकेज उप

  1. पायथन में भारतीय झंडा बनाने का प्रोग्राम पायथन में भारतीय झंडा बनाने का प्रोग्राम

    ग्राफ बनाने के लिए पायथन की लाइब्रेरीज़ में बहुत व्यापक विशेषताएं हैं जो न केवल हमें चार्ट देती हैं बल्कि झंडे जैसे अन्य डायग्राम बनाने की सुविधा भी देती हैं। उस अर्थ में उन मॉड्यूल्स में एक कलात्मक स्पर्श होता है। इस लेख में हम देखेंगे कि numpy और matplotlib लाइब्रेरीज़ का उपयोग करके भारतीय झंडा कै

  1. पायथन का उपयोग करके वेबसाइट ब्लॉकर पायथन का उपयोग करके वेबसाइट ब्लॉकर

    यदि आप एक बड़ी IT कंपनी में काम कर रहे हैं तो आप देख सकते हैं कि उनकी कुछ वेबसाइटें अवरुद्ध हैं, विशेष रूप से सोशल नेटवर्किंग साइट्स जैसे फेसबुक, यूट्यूब, इंस्टाग्राम आदि। कुछ वेबसाइटों को ब्लॉक करने के लिए थर्ड-पार्टी एप्लिकेशन का उपयोग करने के बजाय, हम अपना खुद का कस्टम एप्लिकेशन विकसित कर सकते ह