sort() with sorted()
the sort() function will modify the list it is called on. The sorted() function will create a new list containing a sorted version of the list it is given.
the sort() function will modify the list it is called on. The sorted() function will create a new list containing a sorted version of the list it is given.
#heapq
Title: heapq
The most important feature of a heap is that heap[0] is always the smallest item.
heapq.heappop()-pops off the first item and replaces it with the next smallest item (an operation that
requires O(log N) operations where N is the size of the heap)
source: Python cookbook
Title: heapq
The most important feature of a heap is that heap[0] is always the smallest item.
heapq.heappop()-pops off the first item and replaces it with the next smallest item (an operation that
requires O(log N) operations where N is the size of the heap)
source: Python cookbook
#dicts
Title: Calculating dicts
Title: Calculating dicts
prices = {Get min from dict:
'ACME': 45.23,
'AAPL': 612.78,
'IBM': 205.55,
'HPQ': 37.20,
'FB': 10.75
}
min_price = min(zip(prices.values(), prices.keys()))Get max from dict
# min_price is (10.75, 'FB')
max_price = max(zip(prices.values(), prices.keys()))Sort Dict:
# max_price is (612.78, 'AAPL')
prices_sorted = sorted(zip(prices.values(), prices.keys()))
📌 be aware that zip() creates an iterator that can only be consumed once. If you call zip variable next time, it will return empty obj.#dicts
Title: Comparing dictionaries
Dictionary keys() and items() support common set operations such as unions, intersections, and differences.
values() method of a dictionary does not support the set operations, therefore we cannot perform those operations with dictionary values.
Source: Python Cookbook
Title: Comparing dictionaries
Dictionary keys() and items() support common set operations such as unions, intersections, and differences.
values() method of a dictionary does not support the set operations, therefore we cannot perform those operations with dictionary values.
Source: Python Cookbook
Transforming and reducing data
To calculate the sum of
squares, do the following:
To calculate the sum of
squares, do the following:
nums = [1, 2, 3, 4, 5]
s = sum(x * x for x in nums)
instead of:s = sum((x * x for x in nums))
or
s = sum([x * x for x in nums])
It introduces an extra step and creates an extra list or tuple.
Source: Python cookbook#class #methods
Title:
—The
! A good example is provided above
source: "Python Cookbook:
Title:
__repr__
with __str__
—When we call Class it is represented by __str__
method by default, if there is not __str__
method, __repr__
() method will be called.—The
__repr__()
method returns the code representation of an instance, The __str__()
method converts the instance to a string! A good example is provided above
source: "Python Cookbook:
#memory_management
Title: String interning
To alleviate memory that can be quickly consumed by strings, Python implements string interning
— A string will be interned if it is a compile-time constant, is not the production of constant folding or is not longer than 20 characters, and consists exclusively of ASCII letters, digits, or underscores.
—Empty strings are interned.
Source
Title: String interning
To alleviate memory that can be quickly consumed by strings, Python implements string interning
— A string will be interned if it is a compile-time constant, is not the production of constant folding or is not longer than 20 characters, and consists exclusively of ASCII letters, digits, or underscores.
—Empty strings are interned.
Source
Title: Namespaces
A namespace is a system that has a unique name for each and every object in Python. An object might be a variable or a method.
There are 3 types of namespaces:
built-in namespaces
global namespaces
local namespaces
e.g
A namespace is a system that has a unique name for each and every object in Python. An object might be a variable or a method.
There are 3 types of namespaces:
built-in namespaces
global namespaces
local namespaces
e.g
var1 = 5 # global namespace
def some_func():
var2 = 6
# local namespace
The built-in namespace is always available when Python is running. You can list all built-in namespaces with dir(__builtins__)
SourceTitle: getters and setters in Python
Getters and Setters are used to ensure data encapsulation in OOP.
In python they are not the same as in other languages, because private variables are not hidden in python.
Getters and Setters are used to add validation for getting and setting values or to avoid direct access of a class field.
📌 get() and set() methods don't fully work as getters and setters. In this case, python has a special function property()
Sources: Python cookbook and geeksforgeeks
Getters and Setters are used to ensure data encapsulation in OOP.
In python they are not the same as in other languages, because private variables are not hidden in python.
Getters and Setters are used to add validation for getting and setting values or to avoid direct access of a class field.
📌 get() and set() methods don't fully work as getters and setters. In this case, python has a special function property()
Sources: Python cookbook and geeksforgeeks
#memory_management
Title: Integer Caching in Python
The Python implementation front loads an array of integers between -5 to 256. Hence, variables referring to an integer within the range would be pointing to the same object that already exists in memory
Source
Title: Integer Caching in Python
The Python implementation front loads an array of integers between -5 to 256. Hence, variables referring to an integer within the range would be pointing to the same object that already exists in memory
Source
Assalomu alaykum
leetcode.com yoki binarysearch.com da masala ishlab yuradiganlar bo'lsa,
@dilshodbek_xojametov DIlshodbek botga ulangan gruppa yaratganlar, qiziquvchilar bo'lsa lichkalariga o'zingizni leetcode dagi yoki binarysearch.com dagi usernamizni jo'natsangiz gruppaga qo'shib qo'yishadi.
Guruh qoidasi:
- Har kuni kamida 1 ta misol yechish
- 2 kun ichida bitta ham misol yechmasa guruhdan kick bo'ladi
Guruhdan maqsad masala yechishni eslatib turish va ko'proq masala ishlashga qiziqtirish. O'zingizni reytingizni kuzatib yursangiz ham bo'ladi.
❗️RECOMMENDED
leetcode.com yoki binarysearch.com da masala ishlab yuradiganlar bo'lsa,
@dilshodbek_xojametov DIlshodbek botga ulangan gruppa yaratganlar, qiziquvchilar bo'lsa lichkalariga o'zingizni leetcode dagi yoki binarysearch.com dagi usernamizni jo'natsangiz gruppaga qo'shib qo'yishadi.
Guruh qoidasi:
- Har kuni kamida 1 ta misol yechish
- 2 kun ichida bitta ham misol yechmasa guruhdan kick bo'ladi
Guruhdan maqsad masala yechishni eslatib turish va ko'proq masala ishlashga qiziqtirish. O'zingizni reytingizni kuzatib yursangiz ham bo'ladi.
❗️RECOMMENDED
Forwarded from Azim Pulat