likes
comments
collection
share

25个惊艳的Python代码写法

作者站长头像
站长
· 阅读数 10

Python可以用于复杂的数据分析和Web开发项目,还能以极少的代码行数完成令人惊叹的任务。本文将分享25个简短的Python代码示例,用来展示Python编程语言的魅力和效率。

1. 列表推导式

Python的列表推导式提供了一种优雅的方法来创建列表。

# 将一个列表中的每个数字乘以2
[x * 2 for x in range(10)]

2. 字典推导式

类似于列表推导式,字典推导式用于创建字典。

# 创建一个字典,其中键是数字,值是该数字的平方
{x: x**2 for x in range(5)}

3. 集合推导式

集合推导式用于创建集合,它们与列表推导式类似,但是返回一个集合。

# 创建一个集合,包含0-9每个数字的平方
{x**2 for x in range(10)}

4. 生成器表达式

生成器表达式用于创建一个生成器,它们的语法和列表推导式相似,但使用圆括号。

# 创建一个生成器,生成0-9每个数字的平方
(x**2 for x in range(10))

5. 多重赋值

Python允许同时为多个变量赋值。

a, b = 5, 10

6. 链式比较

Python可以链式比较值。

1 < 2 < 3  # 返回True

7. 使用enumerate

enumerate用于遍历集合并跟踪索引。

for i, val in enumerate(['a', 'b', 'c']):
    print(i, val)

8. 使用zip

zip用于并行遍历多个序列。

for name, score in zip(['Alice', 'Bob', 'Charlie'], [85, 90, 88]):
    print(name, score)

9. 函数参数解包

可以使用*操作符解包参数列表。

args = [3, 6]
list(range(*args))  # 等价于list(range(3, 6))

10. 使用_处理不需要的变量

在循环或赋值时使用_忽略不需要的变量。

for _ in range(10):
    print("Hello, World!")

11. 字符串连接

使用.join()方法优雅地连接字符串序列。

', '.join(['apple', 'banana', 'cherry'])

12. 使用map

map函数可以将一个函数应用于序列的每个元素。

list(map(str.upper, ['python', 'is', 'awesome']))

13. 使用filter

filter函数用于过滤序列。

list(filter(lambda x: x > 0, [-1, 0, 1, 2]))

14. Lambda函数

Lambda函数提供了一种快速定义单行函数的方式。

multiply = lambda x, y: x * y
multiply(5, 6)  # 返回30

15. 条件表达式

Python支持单行的条件表达式。

'Yes' if True else 'No'

16. 解包序列

Python允许快速解包序列中的元素。

a, *rest, b = [1, 2, 3, 4]

17. 合并字典

在Python 3.5及以上版本中,可以使用{**d1, **d2}合并字典。



x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}
z = {**x, **y}

18. 交换变量

在Python中,交换两个变量的值不需要临时变量。

a, b = b, a

19. 切片操作

切片操作提供了一种读取序列的子集的方法。

[1, 2, 3, 4, 5][::-1]  # 返回[5, 4, 3, 2, 1]

20. getattr函数

使用getattr动态地访问对象的属性。

getattr(obj, 'x', 'default')

21. 字典get方法

get方法提供了一种获取字典中键的值的方法,如果键不存在,则返回默认值。

my_dict.get('key', 'default')

22. 使用anyall

anyall用于对序列的布尔值进行逻辑测试。

any([False, False, True])  # 返回True
all([True, True, False])   # 返回False

23. 使用collections.defaultdict

defaultdict在访问不存在的键时提供了一个默认值。

from collections import defaultdict
d = defaultdict(int)
d['key'] += 1

24. 使用collections.Counter

Counter用于计数可哈希对象。

from collections import Counter
Counter('banana')

25. 使用itertools

itertools库包含许多与迭代器对象一起使用的工具。

import itertools
list(itertools.permutations([1,2,3]))