Python作为一门简洁、强大的编程语言,拥有许多令人惊叹的“骚操作”。这些操作不仅能让代码更加简洁高效,还能提升开发效率。以下是17个Python中的骚操作,帮助你更好地掌握这门语言。
列表推导式是Python中非常强大的特性,可以用一行代码生成列表。
squares = [x**2 for x in range(10)]
类似于列表推导式,字典推导式可以快速生成字典。
squares_dict = {x: x**2 for x in range(10)}
无需临时变量,直接交换两个变量的值。
a, b = 1, 2 a, b = b, a
Python支持链式比较,使代码更简洁。
x = 5
print(1 < x < 10) # True
使用**
操作符可以快速合并字典。
dict1 = {'a': 1}
dict2 = {'b': 2}
merged = {**dict1, **dict2}
用一行代码实现条件判断。
x = 10
result = "Even" if x % 2 == 0 else "Odd"
一次性为多个变量赋值。
a, b, c = 1, 2, 3
使用*
解包列表或元组。
numbers = [1, 2, 3, 4]
a, *b, c = numbers # a=1, b=[2, 3], c=4
zip
合并列表将多个列表合并为一个元组列表。
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = list(zip(list1, list2))
enumerate
获取索引和值在遍历列表时同时获取索引和值。
for index, value in enumerate(['a', 'b', 'c']):
print(index, value)
set
去重快速去除列表中的重复元素。
numbers = [1, 2, 2, 3, 4, 4]
unique_numbers = list(set(numbers))
any
和all
函数any
用于判断列表中是否有任意一个元素为真,all
用于判断是否所有元素为真。
numbers = [1, 0, 2]
print(any(numbers)) # True
print(all(numbers)) # False
map
函数对列表中的每个元素应用函数。
numbers = [1, 2, 3]
squared = list(map(lambda x: x**2, numbers))
filter
函数过滤列表中的元素。
numbers = [1, 2, 3, 4]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
collections.defaultdict
为字典设置默认值。
from collections import defaultdict
d = defaultdict(int)
d['a'] += 1 # d['a'] = 1
itertools
模块itertools
提供了许多高效的迭代工具。
import itertools
# 生成排列组合
perms = list(itertools.permutations([1, 2, 3]))
functools.lru_cache
缓存结果通过缓存函数结果提升性能。
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
以上17个Python骚操作涵盖了列表、字典、函数、模块等多个方面,能够显著提升代码的简洁性和效率。掌握这些技巧,你将能够写出更优雅、更高效的Python代码!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/3077716/blog/4596696