Python语言常用技巧汇总_python语言的常用语句

liftword3个月前 (02-08)技术文章28

一、列表操作技巧

  1. 列表推导式
   # 传统循环
   squares = []
   for x in range(10):
       squares.append(x**2)

   # 列表推导式(更简洁)
   squares = [x**2 for x in range(10)]
  1. 使用mapfilter
   nums = [1, 2, 3, 4]
   doubled = list(map(lambda x: x*2, nums))       # [2, 4, 6, 8]
   evens = list(filter(lambda x: x%2 == 0, nums)) # [2, 4]
  1. 合并列表
   a = [1, 2]
   b = [3, 4]
   combined = a + b          # [1, 2, 3, 4]
   a.extend(b)               # 直接扩展a

二、字典操作技巧

  1. 合并字典
   d1 = {'a': 1}
   d2 = {'b': 2}
   merged = {**d1, **d2}               # Python 3.5+
   merged = d1 | d2                    # Python 3.9+
  1. 字典推导式
   squares = {x: x**2 for x in range(5)}  # {0:0, 1:1, 2:4, ...}
  1. 默认值处理
   from collections import defaultdict
   d = defaultdict(int)  # 访问不存在的键时返回0
   d['count'] += 1       # 自动初始化为0

三、字符串处理

  1. f-string格式化(Python 3.6+)
   name = "Alice"
   print(f"Hello, {name}!")  # 直接嵌入变量
   print(f"{3.14159:.2f}")   # 保留两位小数 → 3.14
  1. 拆分与连接
   s = "a,b,c"
   parts = s.split(",")       # ['a', 'b', 'c']
   joined = "-".join(parts)   # 'a-b-c'
  1. 快速去空格
   s = "  text  "
   stripped = s.strip()     # "text"

四、函数与Lambda

  1. 默认参数与可变参数
   def greet(name, message="Hi"):
       print(f"{message}, {name}!")

   def sum_all(*args):
       return sum(args)
  1. Lambda表达式
   add = lambda x, y: x + y
   sorted_names = sorted(names, key=lambda x: x.lower())

五、文件操作

  1. 使用with自动关闭文件
   with open("file.txt", "r") as f:
       content = f.read()  # 无需手动调用f.close()
  1. 逐行读取大文件
   with open("large_file.txt") as f:
       for line in f:      # 内存高效
           process(line)

六、代码优化

  1. 生成器节省内存
   def gen_numbers(n):
       for i in range(n):
           yield i  # 惰性计算,适合大数据
  1. 使用enumerate获取索引
   for index, value in enumerate(['a', 'b', 'c']):
       print(index, value)  # 0 a, 1 b, 2 c
  1. zip并行迭代
   names = ["Alice", "Bob"]
   ages = [25, 30]
   for name, age in zip(names, ages):
       print(f"{name} is {age} years old")

七、错误处理

  1. try-except捕获异常
   try:
       result = 10 / 0
   except ZeroDivisionError:
       print("Cannot divide by zero!")
  1. 自定义异常
   class MyError(Exception):
       pass

八、模块与库

  1. 常用内置库
  2. collections:提供deque, Counter等高效数据结构
  3. itertools:迭代工具(排列组合、无限迭代器等)
  4. os/shutil:文件和目录操作
  5. 快速HTTP请求
   import requests
   response = requests.get("https://api.example.com/data")
   print(response.json())

九、其他实用技巧

  1. 交换变量值
   a, b = 1, 2
   a, b = b, a  # a=2, b=1
  1. 条件表达式
   max_val = x if x > y else y
  1. 链式比较
   if 0 < x < 10:  # 等价于 0 < x and x < 10
       print("Valid")

相关文章

概率分布与编程:二项式分布、泊松分布的原理,Python3如何实现

在说二项式分布之前,先来复习一下排列组合的概念,尤其是组合(Combination) C。排列的定义:从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个不同的元素按照一定的顺序排成一列,叫做...

面对2000笔金额记录的凑数最优问题,你学了python竟然束手无策?

好不容易学了一门编程语言 Python,又懂一点 Excel 操作,感觉自己无所不能了。直到有一天遇到了凑数最优问题,看似很简单,但始终无法解决。凑数问题:在很多数值数据当中,不限制个数(或一些限制条...

按照概率学原理,你这牌一看就胡不了

撰文 比邻星春节假期,独乐乐不如众乐乐。如果要选择一种声音代表新春佳节的团聚,除了噼里啪啦的鞭炮、杯盏相碰的清脆,一句“三缺一”和麻将桌上哗啦啦的搓麻声必定占有一席之地。麻将在不同段位的玩家眼中代表着...

Python整数类型(int)详解_python中整数类型

整数就是没有小数部分的数字,Python 中的整数包括正整数、0 和负整数。有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的...

零基础学习Python,看完这10个案例,让你快速上手掌握Python语言

文章前言今天给大家分享十个Python入门级别的小案例。案例一:排列组合 要求: 将4个数字可能组成的所有互不相同且无重复数字的排列组合列出。 分析: 排列就好了 代码:案例二:阶梯求和 要求: 企业...