Data Management With Python, SQLite, and SQLAlchemy
In this tutorial, youβll learn how to use:
1β£ Flat files for data storage
π’ SQL to improve access to persistent data
π’ SQLite for data storage
π’ SQLAlchemy to work with data as Python objects
Enroll Free: https://realpython.com/python-sqlite-sqlalchemy/
In this tutorial, youβll learn how to use:
Enroll Free: https://realpython.com/python-sqlite-sqlalchemy/
#python #programming #developer #programmer #coding #coder #softwaredeveloper #computerscience #webdev #webdeveloper #webdevelopment #pythonprogramming #pythonquiz #ai #ml #machinelearning #datascience #django #SQLAlchemy #SQLite #SQL
https://t.me/DataScience4
Please open Telegram to view this post
VIEW IN TELEGRAM
π8
Forwarded from Machine Learning with Python
In Python, lists are versatile mutable sequences with built-in methods for adding, removing, searching, sorting, and moreβcovering all common scenarios like dynamic data manipulation, queues, or stacks. Below is a complete breakdown of all list methods, each with syntax, an example, and output, plus key built-in functions for comprehensive use.
π Adding Elements
β¦ append(x): Adds a single element to the end.
β¦ extend(iterable): Adds all elements from an iterable to the end.
β¦ insert(i, x): Inserts x at index i (shifts elements right).
π Removing Elements
β¦ remove(x): Removes the first occurrence of x (raises ValueError if not found).
β¦ pop(i=-1): Removes and returns the element at index i (default: last).
β¦ clear(): Removes all elements.
π Searching and Counting
β¦ count(x): Returns the number of occurrences of x.
β¦ index(x[, start[, end]]): Returns the lowest index of x in the slice (raises ValueError if not found).
π Ordering and Copying
β¦ sort(key=None, reverse=False): Sorts the list in place (ascending by default; stable sort).
β¦ reverse(): Reverses the elements in place.
β¦ copy(): Returns a shallow copy of the list.
π Built-in Functions for Lists (Common Cases)
β¦ len(lst): Returns the number of elements.
β¦ min(lst): Returns the smallest element (raises ValueError if empty).
β¦ max(lst): Returns the largest element.
β¦ sum(lst[, start=0]): Sums the elements (start adds an offset).
β¦ sorted(lst, key=None, reverse=False): Returns a new sorted list (non-destructive).
These cover all standard operations (O(1) for append/pop from end, O(n) for most others). Use slicing
#python #lists #datastructures #methods #examples #programming
β @DataScience4
π Adding Elements
β¦ append(x): Adds a single element to the end.
lst = [1, 2]
lst.append(3)
print(lst) # Output: [1, 2, 3]
β¦ extend(iterable): Adds all elements from an iterable to the end.
lst = [1, 2]
lst.extend([3, 4])
print(lst) # Output: [1, 2, 3, 4]
β¦ insert(i, x): Inserts x at index i (shifts elements right).
lst = [1, 3]
lst.insert(1, 2)
print(lst) # Output: [1, 2, 3]
π Removing Elements
β¦ remove(x): Removes the first occurrence of x (raises ValueError if not found).
lst = [1, 2, 2]
lst.remove(2)
print(lst) # Output: [1, 2]
β¦ pop(i=-1): Removes and returns the element at index i (default: last).
lst = [1, 2, 3]
item = lst.pop(1)
print(item, lst) # Output: 2 [1, 3]
β¦ clear(): Removes all elements.
lst = [1, 2, 3]
lst.clear()
print(lst) # Output: []
π Searching and Counting
β¦ count(x): Returns the number of occurrences of x.
lst = [1, 2, 2, 3]
print(lst.count(2)) # Output: 2
β¦ index(x[, start[, end]]): Returns the lowest index of x in the slice (raises ValueError if not found).
lst = [1, 2, 3, 2]
print(lst.index(2)) # Output: 1
π Ordering and Copying
β¦ sort(key=None, reverse=False): Sorts the list in place (ascending by default; stable sort).
lst = [3, 1, 2]
lst.sort()
print(lst) # Output: [1, 2, 3]
β¦ reverse(): Reverses the elements in place.
lst = [1, 2, 3]
lst.reverse()
print(lst) # Output: [3, 2, 1]
β¦ copy(): Returns a shallow copy of the list.
lst = [1, 2]
new_lst = lst.copy()
print(new_lst) # Output: [1, 2]
π Built-in Functions for Lists (Common Cases)
β¦ len(lst): Returns the number of elements.
lst = [1, 2, 3]
print(len(lst)) # Output: 3
β¦ min(lst): Returns the smallest element (raises ValueError if empty).
lst = [3, 1, 2]
print(min(lst)) # Output: 1
β¦ max(lst): Returns the largest element.
lst = [3, 1, 2]
print(max(lst)) # Output: 3
β¦ sum(lst[, start=0]): Sums the elements (start adds an offset).
lst = [1, 2, 3]
print(sum(lst)) # Output: 6
β¦ sorted(lst, key=None, reverse=False): Returns a new sorted list (non-destructive).
lst = [3, 1, 2]
print(sorted(lst)) # Output: [1, 2, 3]
These cover all standard operations (O(1) for append/pop from end, O(n) for most others). Use slicing
lst[start:end:step] for advanced extraction, like lst[1:3] outputs ``.#python #lists #datastructures #methods #examples #programming
Please open Telegram to view this post
VIEW IN TELEGRAM
β€6
In Python, the collections module offers specialized container datatypes that solve real-world coding challenges with elegance and efficiency. These tools are interview favorites for optimizing time complexity and writing clean, professional code! π‘
By: @DatascienceNπ
#Python #CodingInterview #DataStructures #collections #Programming #TechJobs #Algorithm #LeetCode #DeveloperTips #CareerGrowth
import collections
# defaultdict - Eliminate key errors with auto-initialization
from collections import defaultdict
gradebook = defaultdict(int)
gradebook['Alice'] += 95
print(gradebook['Alice']) # Output: 95
print(gradebook['Bob']) # Output: 0
# defaultdict for grouping operations
anagrams = defaultdict(list)
words = ["eat", "tea", "tan"]
for w in words:
key = ''.join(sorted(w))
anagrams[key].append(w)
print(anagrams['aet']) # Output: ['eat', 'tea']
# Counter - Frequency analysis in one line
from collections import Counter
text = "abracadabra"
freq = Counter(text)
print(freq['a']) # Output: 5
print(freq.most_common(2)) # Output: [('a', 5), ('b', 2)]
# Counter arithmetic for problem-solving
inventory = Counter(apples=10, oranges=5)
sales = Counter(apples=3, oranges=2)
print(inventory - sales) # Output: Counter({'apples': 7, 'oranges': 3})
# namedtuple - Self-documenting data structures
from collections import namedtuple
Employee = namedtuple('Employee', 'name role salary')
dev = Employee('Alex', 'Developer', 95000)
print(dev.role) # Output: Developer
print(dev[2]) # Output: 95000
# deque - Optimal for BFS and sliding windows
from collections import deque
queue = deque([1, 2, 3])
queue.append(4)
queue.popleft()
print(queue) # Output: deque([2, 3, 4])
queue.rotate(1)
print(queue) # Output: deque([4, 2, 3])
# OrderedDict - Track insertion order (LRU cache essential)
from collections import OrderedDict
cache = OrderedDict()
cache['A'] = 1
cache['B'] = 2
cache.move_to_end('A')
cache.popitem(last=False)
print(list(cache.keys())) # Output: ['B', 'A']
# ChainMap - Manage layered configurations
from collections import ChainMap
defaults = {'theme': 'dark', 'font': 'Arial'}
user_prefs = {'theme': 'light'}
settings = ChainMap(user_prefs, defaults)
print(settings['font']) # Output: Arial
# Practical Interview Tip: Anagram detection
print(Counter("secure") == Counter("rescue")) # Output: True
# Pro Tip: Sliding window maximum
def max_sliding_window(nums, k):
dq, result = deque(), []
for i, n in enumerate(nums):
while dq and nums[dq[-1]] < n:
dq.pop()
dq.append(i)
if dq[0] == i - k:
dq.popleft()
if i >= k - 1:
result.append(nums[dq[0]])
return result
print(max_sliding_window([1,3,-1,-3,5,3,6,7], 3)) # Output: [3,3,5,5,6,7]
# Expert Move: Custom LRU Cache implementation
class LRUCache:
def __init__(self, capacity):
self.cache = OrderedDict()
self.capacity = capacity
def get(self, key):
if key not in self.cache:
return -1
self.cache.move_to_end(key)
return self.cache[key]
def put(self, key, value):
if key in self.cache:
del self.cache[key]
self.cache[key] = value
if len(self.cache) > self.capacity:
self.cache.popitem(last=False)
cache = LRUCache(2)
cache.put(1, 10)
cache.put(2, 20)
cache.get(1)
cache.put(3, 30)
print(list(cache.cache.keys())) # Output: [2, 1, 3] β Wait! Correction: Should be [1, 3] (capacity=2 triggers eviction of '2')
# Bonus: Multiset operations with Counter
primes = Counter([2, 3, 5, 7])
odds = Counter([1, 3, 5, 7, 9])
print(primes | odds) # Output: Counter({3:1, 5:1, 7:1, 2:1, 9:1, 1:1})
By: @DatascienceNπ
#Python #CodingInterview #DataStructures #collections #Programming #TechJobs #Algorithm #LeetCode #DeveloperTips #CareerGrowth
β€1