以下是30个极简Python代码示例,涵盖基础操作、数据处理和实用技巧,适合初学者练习和开发者参考:
1. 重复元素判定def all_unique(lst): return len(lst) == len(set(lst))- 用途:检查列表是否有重复元素。
- 原理:利用集合去重特性,比较长度。
2. 字符元素组成判定from collections import Counterdef anagram(first, second): return Counter(first) == Counter(second)- 用途:判断两个字符串的字符组成是否相同(如"abcd"和"dcba")。
- 注意:需导入collections模块。
3. 内存占用import sysvariable = 30print(sys.getsizeof(variable)) # 输出变量内存大小(字节)4. 字节占用def byte_size(string): return len(string.encode('utf-8'))5. 重复打印字符串n = 2s = "Programming"print(s * n) # 输出:ProgrammingProgramming6. 首字母大写s = "programming is awesome"print(s.title()) # 输出:Programming Is Awesome7. 列表分块from math import ceildef chunk(lst, size): return [lst[i*size : (i+1)*size] for i in range(ceil(len(lst)/size))]- 简化版:使用列表推导式替代原代码的map+lambda。
8. 过滤假值def compact(lst): return list(filter(bool, lst)) # 过滤False/None/0/""等9. 列表解包array = [['a', 'b'], ['c', 'd']]transposed = list(zip(*array)) # 输出:[('a', 'c'), ('b', 'd')]10. 链式比较a = 3print(2 < a < 8) # True11. 逗号连接列表hobbies = ["basketball", "football"]print("My hobbies are: " + ", ".join(hobbies))12. 元音统计import redef count_vowels(s): return len(re.findall(r'[aeiou]', s, re.I))13. 首字母小写def decapitalize(s): return s[:1].lower() + s[1:]14. 展开嵌套列表def spread(arg): ret = [] for i in arg: ret.extend(i if isinstance(i, list) else [i]) return retdef deep_flatten(lst): return [item for sublist in lst for item in (deep_flatten(sublist) if isinstance(sublist, list) else [sublist])]15. 列表差集def difference(a, b): return list(set(a) - set(b))16. 函数过滤差集def difference_by(a, b, fn): b_vals = set(map(fn, b)) return [item for item in a if fn(item) not in b_vals]17. 条件函数调用a, b = 4, 5print((lambda x, y: x - y if a > b else x + y)(a, b)) # 输出918. 检查重复项def has_duplicates(lst): return len(lst) != len(set(lst))19. 合并字典# Python 3.5+def merge_dicts(a, b): return {a, b}20. 列表转字典def to_dict(keys, values): return dict(zip(keys, values))21. 枚举索引与值for i, val in enumerate(["a", "b"]): print(i, val) # 输出:0 a n 1 b22. 计算执行时间import timestart = time.time()# 待测代码print("Time:", time.time() - start)23. Try-Elsetry: result = 10 / 2except ZeroDivisionError: print("Error")else: print("Result:", result) # 无异常时执行24. 最频繁元素from collections import Counterdef most_frequent(lst): return Counter(lst).most_common(1)[0][0]- 优化:直接使用Counter的most_common方法。
25. 回文检测def is_palindrome(s): s = ''.join(filter(str.isalnum, s)).lower() return s == s[::-1]26. 无分支计算import operatorops = {"+": operator.add, "-": operator.sub}print(ops["+"](5, 3)) # 输出827. 列表洗牌from random import sampledef shuffle(lst): return sample(lst, len(lst))28. 展开嵌套列表(简化版)def spread(lst): return [item for sublist in lst for item in (spread(sublist) if isinstance(sublist, list) else [sublist])]29. 变量交换a, b = 1, 2a, b = b, a # 直接交换30. 字典默认值d = {'a': 1}print(d.get('b', 0)) # 输出0总结这些代码示例覆盖了:
- 数据结构操作(列表/字典/集合)
- 字符串处理(编码/格式化/正则)
- 函数式编程(lambda/map/filter)
- 实用技巧(时间测量/异常处理/随机化)
建议初学者:
- 手动实现每个功能,理解底层逻辑
- 尝试修改代码处理边界情况(如空输入)
- 组合多个技巧解决复杂问题(如用Counter和列表推导式优化most_frequent)