分享一些Python 中短小精悍的“骚操作”

今天分享一些Python 中短小精悍的语法技巧,能让你写出更简洁优雅的代码:

good good study, day day up!


1.列表推导式 + 条件过滤

# 生成偶数的平方
squares = [x**2 for x in range(10) if x % 2 == 0]
# 结果:[0, 4, 16, 36, 64]

2.三元表达式

# 单行条件赋值
result = "Yes" if 5 > 3 else "No"
# 结果:"Yes"

3.交换变量值

a, b = 5, 10
a, b = b, a  # 无需临时变量
print(a, b)  # 10 5

4.合并字典 (Python 3.9+)

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged = dict1 | dict2  # {'a':1, 'b':3, 'c':4}

5.快速反转字符串/列表

s = "hello"
print(s[::-1])  # "olleh"

lst = [1, 2, 3]
print(lst[::-1])  # [3, 2, 1]

6.同时获取索引和值 (enumerate)

for index, value in enumerate(["a", "b", "c"]):
    print(index, value)
# 0 a
# 1 b
# 2 c

7.合并两个列表成字典 (zip)

keys = ["a", "b", "c"]
values = [1, 2, 3]
d = dict(zip(keys, values))  # {'a':1, 'b':2, 'c':3}

8.海象运算符 (Python 3.8+)

# 在表达式中赋值
if (n := len("hello")) > 3:
    print(f"长度是{n}")  # 长度是5

9.展开多层嵌套列表

nested = [[1, 2], [3, 4], [5]]
flat = [num for sublist in nested for num in sublist]
# [1, 2, 3, 4, 5]

10.快速去重并保持顺序

lst = [3, 1, 2, 3, 2]
unique = list(dict.fromkeys(lst))  # [3, 1, 2]

11.链式比较

x = 5
print(3 < x < 10)  # True (等价于 3 < x and x < 10)

12.f-string 调试 (Python 3.8+)

value = 42
print(f"{value=}")  # 输出 value=42

13.多变量赋值

a, *b, c = [1, 2, 3, 4, 5]
print(a, b, c)  # 1 [2,3,4] 5

14.生成器表达式省内存

# 不会立即生成所有元素
sum_squares = sum(x**2 for x in range(1000000))

15.用_忽略不需要的值

# 解包时忽略某些值
a, _, c = (1, 2, 3)  # a=1, c=3

16.字典的setdefault

d = {}
for k, v in [("a", 1), ("a", 2)]:
    d.setdefault(k, []).append(v)
# {'a': [1, 2]}

17.上下文管理器打开文件

with open("file.txt") as f:
    content = f.read()
# 自动关闭文件

18.any/all快速判断

nums = [2, 4, 6, 8]
print(all(n%2 ==0 for n in nums))  # True
print(any(n >10 for n in nums))    # False

19.用*解包参数

def sum(a, b, c):
    return a + b + c

values = [1, 2, 3]
print(sum(*values))  # 6

20.itertools模块黑魔法

from itertools import permutations, combinations

# 排列组合
print(list(permutations("ABC", 2)))  # [('A','B'), ('A','C'), ...]
print(list(combinations("ABC", 2)))  # [('A','B'), ('A','C'), ...]

注意:可读性优先,不要为了炫技而过度使用!

相关文章

探索 Python 中合并两个字典的七种方法,找到最适合你的那一款!

在 Python 的世界里,字典作为一种强大的数据结构,扮演着举足轻重的角色。而合并字典,则是我们经常遇到的操作。Python 为我们提供了多种合并字典的方式,每种方式都有其独特的应用场景。探索 Py...

现代化python字典合并的技巧

现代Python字典合并:使用|运算符在Python 3.9之前,有两种常见的合并字典的方法:使用update方法或**运算符。然而,这两种方法都有其缺点。在本文中,我们将探讨Python中合并字典的...

python将两个字典进行合并的方法

在 Python 中,可以使用 update() 方法将一个字典合并到另一个字典中,也可以使用运算符 | 或 ** 将两个字典合并为一个新的字典。以下是示例代码,演示了三种不同的方式来合并字典:# 定...

Python 字典合并、求和大作战,轻松搞定各路数据

在使用 Python 采集来自不同渠道的数据,很多都是以字典的形式存储。将它们合并、处理是经常使用的进本操作,在本文中,我们将介绍多种合并和求和字典的方法。合并词典是指涉及将多个词典中的键值对合并到一...

Python 嵌套词典完整指南

当需要在 Python 中组织复杂的分层数据时,嵌套词典是必不可少的。它们对于处理 JSON 数据、配置设置或任何具有多个级别的结构化数据特别有用。了解嵌套词典嵌套词典只是包含其他词典作为值的词典。下...

Python 字典(Dictionary):高效数据映射的强大工具

在 Python 中,字典是一种基于键值对(key-value pairs)的数据结构,能够高效地进行数据映射(data mapping)和快速查找(efficient lookup)。字典以无序(u...