समस्या विवरण
लिस्ट कॉम्प्रिहेंशन पायथन में एक लोकप्रिय तकनीक है। यहां हम इस तकनीक का उपयोग करते हैं। हम एक यूजर इनपुट सरणी बनाते हैं और सरणी के तत्व यादृच्छिक क्रम में 0 और 1 होने चाहिए। फिर 0 को बाईं ओर और 1 को दाईं ओर पृथक करें। हम सरणी को पार करते हैं और दो अलग-अलग सूचियां अलग करते हैं, एक में 0 और दूसरी में 1, फिर दोनों सूचियों को जोड़ते हैं।
उदाहरण
इनपुट:: a=[0,1,1,0,0,1]
आउटपुट::[0,0,0,1,1,1]
एल्गोरिदम
- सबसे पहले सरणी को पार करें।
- फिर सरणी के प्रत्येक तत्व की जांच करें। यदि तत्व 0 है, तो उसकी स्थिति बाईं ओर है और यदि 1 है तो यह सरणी के दाईं ओर है।
- फिर दोनों सूचियों को जोड़ें।
उदाहरण कोड
# सरणी सूची में 0 और 1 को पृथक करें
def seg0s1s(A):
n = ([i for i in A if i == 0] + [i for i in A if i == 1])
print(n)
# ड्राइवर प्रोग्राम
if __name__ == "__main__":
A = list()
n = int(input("सरणी का आकार दर्ज करें ::"))
print("संख्या दर्ज करें ::")
for i in range(int(n)):
k = int(input(""))
A.append(int(k))
print("नई सरणी सूची ::")
seg0s1s(A)
आउटपुट
सरणी का आकार दर्ज करें ::6
संख्या दर्ज करें :: 1 0 0 1 1 0
नई सरणी सूची :: [0, 0, 0, 1, 1, 1]