range(len(x))
पायथन में, हम आम तौर पर एक पुनरावृत्त वस्तु पर पुनरावृति करने for
लूप के लिए उपयोग करते हैं। पायथन में लूप के for
संग्रह आधारित पुनरावृत्ति का उपयोग करता है यानी पायथन प्रत्येक पुनरावृत्ति पर एक पुनरावृत्त से लूप चर के लिए अगला आइटम निर्दिष्ट करता है। लूप के for
सामान्य उपयोगकेस इस प्रकार है:
values = ["a", "b", "c"] for value in values: print(value) # a # b # c
index = 0 for value in values: print(index, value) index += 1 # 0 a # 1 b # 2 c
या ऐसा करने का एक और आम तरीका range(len(x))
का उपयोग कर रहा है:
for index in range(len(values)): value = values[index] print(index, value) # 0 a # 1 b # 2 c
हालांकि, enumerate()
का उपयोग करके पुनरावृत्त वस्तुओं पर पुनरावृति करने का एक आसान और अधिक पाइथोनिक तरीका है। इसका उपयोग लूप for
लगभग उसी तरह किया जाता है जैसे आप सामान्य तरीके से for
हैं, लेकिन लूप in
सीधे चलने योग्य वस्तु को डालने के बजाय, या इसे range(len(values))
के रूप में उपयोग करने के बजाय, आप इसे अंदर डालते हैं enumerate()
के कोष्ठक जैसा कि नीचे दिखाया गया है:
for count, value in enumerate(values): print(count, value) # 0 a # 1 b # 2 c
हम नीचे दिखाए गए अनुसार enumerate()
के लिए एक start
तर्क को भी परिभाषित कर सकते हैं:
for count, value in enumerate(values, start=1): print(count, value) # 1 a # 2 b # 3 c
enumerate()
फ़ंक्शन दो चर वापस देता है:
लूप के for
लूप वेरिएबल्स की तरह, लूप वेरिएबल्स को कुछ भी नाम दिया जा सकता है, उदाहरण के लिए, हम तब index
और value
को कॉल कर सकते हैं और वे अभी भी काम करेंगे। enumerate()
लूप के for
की तुलना में अधिक कुशल है क्योंकि यह आपको लूप के अंदर मूल्य तक पहुंचने और इसे सही ढंग से उपयोग करने के लिए याद रखने की परेशानी से बचाता है और फिर लूप वैरिएबल के मूल्य को आगे बढ़ाने के लिए भी याद रखता है, यह सब पाइथन द्वारा स्वचालित रूप से नियंत्रित किया जाता है .
newList = [ expression(element) for element in oldList if condition ]
# Using list comprehension to iterate through loop List = [character for character in 'HackerNoon'] # Displaying list print(List) # Output # ['H', 'a', 'c', 'k', 'e', 'r', 'N', 'o', 'o', 'n']
sorted()
पायथन sorted()
फ़ंक्शन एक विशिष्ट क्रम (आरोही या अवरोही) में एक पुनरावृत्त वस्तु के तत्वों को क्रमबद्ध करता है और उन्हें एक क्रमबद्ध सूची के रूप में लौटाता है। इसका उपयोग अनुक्रम (स्ट्रिंग, टपल, सूची) या संग्रह (सेट, शब्दकोश, जमे हुए सेट) या किसी अन्य पुनरावर्तक को सॉर्ट करने के लिए किया जा सकता है।
sorted()
फ़ंक्शन का सिंटैक्स इस प्रकार है:
sorted(iterable, key=None, reverse=False)
sorted()
फ़ंक्शन अधिकतम तीन पैरामीटर लेता है:
list_inp = [100, 75, 100, 20, 75, 12, 75, 25] set_res = set(list_inp) print("The unique elements of the input list using set():\n") list_res = (list(set_res)) for item in list_res: print(item)
The unique elements of the input list using set(): 25 75 100 20 12
myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print("The given list is:", myList) mygen = (element ** 2 for element in myList if element % 2 == 0) print("Elements obtained from the generator are:") for ele in mygen: print(ele)
The given list is: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Elements obtained from the generator are: 4 16 36 64 100
.get()
और .setdefault()
के साथ डिफ़ॉल्ट मानों को परिभाषित करें
.setdefault()
विधि तानाशाही dict[key]=default
सेट करने की अनुमति देती है यदि कुंजी पहले से ही तानाशाही में नहीं है।
.setdefault()
का सिंटैक्स निम्न जैसा दिखता है:
dict.setdefault(key, default=None)
.setdefault()
का उपयोग करने के तरीके को समझने के लिए यहां एक उदाहरण कोड स्निपेट दिया गया है:
a_dictionary = {"a": 1, "b": 2, "d": 4} a_dictionary.setdefault("c", 3) print(a_dictionary)
{'a': 1, 'b': 2, 'd': 4, 'c': 3}
कुंजी के लिए एक डिफ़ॉल्ट मान पास करके .get()
विधि का उपयोग करके भी यही बात हासिल की जा सकती है, जैसा कि आप नीचे देख सकते हैं:
a_dictionary = {"a": 1, "b": 2, "d": 4} print(a_dictionary.get("c", 3)) print(a_dictionary)
3 {'a': 1, 'b': 2, 'd': 4}
collections.Counter
के साथ हैश करने योग्य वस्तुओं की गणना करें। काउंटर
आयात संग्रह संग्रह में सामग्री को इस प्रकार उपलब्ध कराता है:
import collections
from collections import Counter
import collections c = collections.Counter('abcdaab') for letter in 'abcde': print '%s : %d' % (letter, c[letter])
a : 3 b : 2 c : 1 d : 1 e : 0
जैसा कि "एफ-स्ट्रिंग" नाम कहता है, वे स्ट्रिंग अक्षर हैं जिनमें शुरुआत में एफ और अभिव्यक्ति वाले घुंघराले ब्रेसिज़ होते हैं जिन्हें रनटाइम पर उनके मूल्यों से बदल दिया जाएगा और फिर __format__
प्रोटोकॉल का उपयोग करके स्वरूपित किया जाएगा।
name = "Eric" age = 74 print(f"Hello, {name}. You are {age}.") # 'Hello, Eric. You are 74.'
.join()
के साथ तार जोड़ना पायथन में, हम स्ट्रिंग्स की सूची को एक स्ट्रिंग में जोड़ने के लिए .join()
विधि का उपयोग कर सकते हैं। इस विधि के लिए सामान्य सिंटैक्स नीचे जैसा दिखता है:
'String to insert'.join([List of strings])
इसका उपयोग कई तरीकों से किया जा सकता है - यदि आप खाली स्ट्रिंग ““
का उपयोग करते हैं, तो [स्ट्रिंग्स की सूची] को बस संयोजित किया जाता है, और यदि आप अल्पविराम का उपयोग करते हैं, तो अल्पविराम-सीमांकित स्ट्रिंग बनाई जाती है। जब न्यूलाइन कैरेक्टर \n
का उपयोग किया जाता है, तो प्रत्येक स्ट्रिंग के बाद एक नई लाइन जोड़ दी जाती है। नीचे दिया गया उदाहरण देखें:
l = ['aaa', 'bbb', 'ccc'] s = ''.join(l) print(s) # aaabbbccc s = ','.join(l) print(s) # aaa,bbb,ccc s = '-'.join(l) print(s) # aaa-bbb-ccc s = '\n'.join(l) print(s) # aaa # bbb # ccc
{**d1, **d2}
के साथ मिलाएं (पायथन 3.5+) शब्दकोशों को मर्ज करने का सबसे आसान तरीका अनपैकिंग ऑपरेटर ( **
) का उपयोग करना है। इस विधि का सिंटैक्स इस तरह दिखता है:
{**dict1, **dict2, **dict3}
d1 = {'k1': 1, 'k2': 2} d2 = {'k3': 3, 'k4': 4} print({**d1, **d2}) # {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4}
if x in list
सरल बनाएं
colors = ["red", "green", "blue"] c = "red" # cumbersome and error-prone if c == "red" or c == "green" or c == "blue": print("is main color")
colors = ["red", "green", "blue"] c = "red" # better: if c in colors: print("is main color")