惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
腾讯CDC
博客园 - 司徒正美
A
About on SuperTechFans
H
Help Net Security
J
Java Code Geeks
C
Check Point Blog
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MongoDB | Blog
MongoDB | Blog
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
MyScale Blog
MyScale Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
博客园 - 【当耐特】
雷峰网
雷峰网

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
The Python Survival Guide I Built the Night Before My Ass...
ithiria894 · 2026-05-15 · via DEV Community

ithiria894

https://ithiria894.github.io/python-field-manual/

You're staring at a timer counting down and your brain goes blank on how to sort a dict by value. This is for that moment.

Everything here is copy-paste ready. No fluff. Just patterns that show up in timed coding assessments over and over.

Dict

d = {}                            # create
d["key"] = "value"                # set
val = d["key"]                    # get (crashes if missing)
val = d.get("key")                # get (returns None if missing)
val = d.get("key", "default")    # get with default
del d["key"]                      # delete
"key" in d                        # check exists

# nested dict
d["user"] = {"balance": 0, "history": []}
d["user"]["balance"] += 100

# loop
for key, value in d.items():
    print(key, value)

Enter fullscreen mode Exit fullscreen mode

List

lst = []                # create
lst.append(x)           # add to end
lst[0]                  # first element
lst[-1]                 # last element
lst[:n]                 # first n items (safe even if n > len)
len(lst)                # length
del lst[i]              # delete by index

for item in reversed(lst):    # loop backwards
    print(item)

Enter fullscreen mode Exit fullscreen mode

Sorting

# basic
sorted(lst)                          # returns new sorted list
lst.sort()                           # sorts in place

# by custom key
sorted(lst, key=lambda x: x[1])      # sort by second element

# multi-criteria: score DESC, name ASC
sorted(items, key=lambda x: (-x[1], x[0]))

# sort dict items by value desc
sorted(d.items(), key=lambda x: -x[1])

# sort list of dicts
users.sort(key=lambda x: (-x["score"], x["name"]))

Enter fullscreen mode Exit fullscreen mode

String

f"{name}({value})"              # format -> "alice(500)"
", ".join(["a", "b", "c"])      # join -> "a, b, c"
s.startswith("prefix")          # True/False
s.split("/")                    # split -> ["path", "to", "file"]
s.strip()                       # remove whitespace from ends

Enter fullscreen mode Exit fullscreen mode

Class

class MySystem:
    def __init__(self):           # two underscores each side
        self.data = {}            # instance variable
        self.counter = 0

    def add(self, key, value):    # every method needs self
        self.data[key] = value

    def get(self, key):
        return self.data.get(key)

Enter fullscreen mode Exit fullscreen mode

Auto-Increment ID

self.counter += 1
item_id = f"item{self.counter}"    # item1, item2, item3...

Enter fullscreen mode Exit fullscreen mode

TTL / Expiry

# store with expiry
self.data[key] = {"value": val, "expiry": timestamp + ttl}

# check alive
entry = self.data[key]
if timestamp < entry["expiry"]:    # alive (exclusive boundary)
    return entry["value"]

Enter fullscreen mode Exit fullscreen mode

Lazy Processing (Scheduled Events)

def _process_pending(self, timestamp):
    for item_id, item in self.pending.items():
        if not item["done"] and timestamp >= item["deadline"]:
            # do the thing
            item["done"] = True

def any_method(self, timestamp, ...):
    self._process_pending(timestamp)    # always first line
    # then do actual work

Enter fullscreen mode Exit fullscreen mode

History Tracking

# append after every state change
acc["history"].append((timestamp, acc["balance"]))

# query historical value
for ts, val in reversed(acc["history"]):
    if ts <= target_time:
        return val

Enter fullscreen mode Exit fullscreen mode

Deep Copy (Backup/Restore)

import copy
snapshot = copy.deepcopy(self.data)    # full independent copy
# changing snapshot won't affect self.data

Enter fullscreen mode Exit fullscreen mode

Bisect (Binary Search in Sorted List)

import bisect

sorted_list = [10, 20, 30, 40, 50]
idx = bisect.bisect_right(sorted_list, 25)    # 2
bisect.insort(sorted_list, 25)                 # [10, 20, 25, 30, 40, 50]

Enter fullscreen mode Exit fullscreen mode

asyncio

import asyncio

# make a function async
async def process(item):
    await asyncio.sleep(0.01)       # simulate I/O
    return item * 2

# run multiple tasks at once
async def main():
    results = await asyncio.gather(*[process(x) for x in items])

asyncio.run(main())

Enter fullscreen mode Exit fullscreen mode

asyncio Lock (Protect Shared Data)

lock = asyncio.Lock()

async def safe_update(account, amount):
    async with lock:                # only one at a time
        account["balance"] += amount

Enter fullscreen mode Exit fullscreen mode

asyncio Semaphore (Limit Concurrency)

sem = asyncio.Semaphore(3)          # max 3 concurrent

async def limited_task(item):
    async with sem:
        await do_work(item)

# all start but only 3 run at once
await asyncio.gather(*[limited_task(x) for x in items])

Enter fullscreen mode Exit fullscreen mode

defaultdict

from collections import defaultdict

groups = defaultdict(list)       # missing key -> empty list
groups["team_a"].append("alice") # no need to check if key exists

counts = defaultdict(int)        # missing key -> 0
counts["errors"] += 1

Enter fullscreen mode Exit fullscreen mode

Gotchas

# DON'T modify dict while iterating
for key in d:
    del d[key]           # RuntimeError!
# DO this instead
to_delete = [k for k in d if should_delete(k)]
for k in to_delete:
    del d[k]

# DON'T forget self
def method(account_id):          # WRONG, missing self
def method(self, account_id):    # RIGHT

# DON'T use dot on dicts
d.balance                        # WRONG (that's for classes)
d["balance"]                     # RIGHT

# DON'T confuse shallow and deep copy
copy_ref = original              # same object, not a copy!
import copy
real_copy = copy.deepcopy(original)   # independent copy

Enter fullscreen mode Exit fullscreen mode

That's it. Bookmark this page. You'll need it at 3am.