Skip to content

Instantly share code, notes, and snippets.

@ZhouYang1993
ZhouYang1993 / reverse.py
Created September 26, 2022 21:01
Reverse Keys and Values of Python Dictionaries
cities = {'London': 'UK', 'Tokyo': 'Japan', 'New York': 'US'}
# Method 1
reversed_cities = {v: k for k, v in cities.items()}
print(reversed_cities)
# {'UK': 'London', 'Japan': 'Tokyo', 'US': 'New York'}
# Method 2
reversed_cities = dict(zip(cities.values(), cities.keys()))
print(reversed_cities)
@ZhouYang1993
ZhouYang1993 / transpose_matrix.py
Last active September 27, 2022 19:37
11 Stunning Python One-Liners That Amazed Me
transpose_mat =lambda A:[list(i) for i in zip(*A)]
@ZhouYang1993
ZhouYang1993 / add_vector.py
Created September 20, 2022 21:07
11 Stunning Python One-Liners That Amazed Me
add_vec= lambda A,B:[ai+bi for (ai, bi) in zip(A, B)]
@ZhouYang1993
ZhouYang1993 / calculate_distance.py
Created September 20, 2022 20:57
11 Stunning Python One-Liners That Amazed Me
dist = lambda w,v : (sum((wi - vi)**2 for wi,vi in zip(w,v)))**.5
@ZhouYang1993
ZhouYang1993 / fibonacci_number.py
Created September 20, 2022 20:45
11 Stunning Python One-Liners That Amazed Me
fib = lambda x: x if x <= 1 else fib(x - 1) + fib(x - 2)
@ZhouYang1993
ZhouYang1993 / queue_bfs.py
Created September 11, 2022 20:18
deque in Python
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
from collections import deque
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
depth = 0
@ZhouYang1993
ZhouYang1993 / stack.py
Created September 11, 2022 19:52
deque in Python
from collections import deque
class Solution:
def isValid(self, s: str) -> bool:
mapping = {')': '(', ']': '[', '}': '{'}
stack = deque()
for char in s:
if mapping.get(char):
if len(stack) == 0:
@ZhouYang1993
ZhouYang1993 / handling_mid_items.py
Created September 11, 2022 19:45
deque in Python
from collections import deque
dq1=deque('abcde')
print(dq1)
# deque(['a', 'b', 'c', 'd', 'e'])
# Insert an item in the middle
dq1.insert(2,'f')
print(dq1)
# deque(['a', 'b', 'f', 'c', 'd', 'e'])
@ZhouYang1993
ZhouYang1993 / pop_and_append.py
Created September 11, 2022 17:18
deque in Python
from collections import deque
dq1=deque([1,2,3,4,5])
print(dq1)
# deque([1, 2, 3, 4, 5])
dq1.popleft()
print(dq1)
# deque([2, 3, 4, 5])
dq1.appendleft(9)
print(dq1)
@ZhouYang1993
ZhouYang1993 / creating_deque.py
Created September 11, 2022 16:08
Using deque in Python
from collections import deque
dq1=deque([1,2,3,4,5])
print(dq1)
# deque([1, 2, 3, 4, 5])
dq2=deque('abcde')
print(dq2)
# deque(['a', 'b', 'c', 'd', 'e'])
dq3=deque([i for i in range(10) if i%2==0])
print(dq3)