Python Language
ऑपरेटर मॉड्यूल
खोज…
ऑपरेटर एक इन्फिक्स ऑपरेटर के विकल्प के रूप में
प्रत्येक infix ऑपरेटर के लिए, उदा +
एक operator
-function ( operator.add
लिए +
) है:
1 + 1
# Output: 2
from operator import add
add(1, 1)
# Output: 2
यहां तक कि मुख्य प्रलेखन कहा गया है कि अंकगणितीय ऑपरेटर केवल संख्यात्मक इनपुट की अनुमति दी है के लिए यह संभव है, हालांकि:
from operator import mul
mul('a', 10)
# Output: 'aaaaaaaaaa'
mul([3], 3)
# Output: [3, 3, 3]
यह भी देखें: आधिकारिक पायथन प्रलेखन में ऑपरेशन से ऑपरेटर फ़ंक्शन के लिए मैपिंग ।
Methodcaller
इस lambda
फंक्शन के बजाय जो विधि को स्पष्ट रूप से कहता है:
alist = ['wolf', 'sheep', 'duck']
list(filter(lambda x: x.startswith('d'), alist)) # Keep only elements that start with 'd'
# Output: ['duck']
एक ऑपरेटर-फ़ंक्शन का उपयोग कर सकता है जो समान है:
from operator import methodcaller
list(filter(methodcaller('startswith', 'd'), alist)) # Does the same but is faster.
# Output: ['duck']
Itemgetter
itemgetter
साथ एक शब्दकोश के प्रमुख-मूल्य जोड़े को itemgetter
साथ itemgetter
:
from itertools import groupby
from operator import itemgetter
adict = {'a': 1, 'b': 5, 'c': 1}
dict((i, dict(v)) for i, v in groupby(adict.items(), itemgetter(1)))
# Output: {1: {'a': 1, 'c': 1}, 5: {'b': 5}}
जो इस तरह के एक lambda
कार्य के बराबर (लेकिन तेज) है:
dict((i, dict(v)) for i, v in groupby(adict.items(), lambda x: x[1]))
या द्वितीय तत्व द्वारा प्रथम रूप में प्रथम तत्व के रूप में ट्यूल की सूची को क्रमबद्ध करना:
alist_of_tuples = [(5,2), (1,3), (2,2)]
sorted(alist_of_tuples, key=itemgetter(1,0))
# Output: [(2, 2), (5, 2), (1, 3)]
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow