有哪些有用的Python技巧
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容介绍了"有哪些有用的Python技巧"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!函数连续调
千家信息网最后更新 2026年11月04日有哪些有用的Python技巧
本篇内容介绍了"有哪些有用的Python技巧"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
函数连续调用
def add(x): class AddNum(int): def __call__(self, x): return AddNum(self.numerator + x) return AddNum(x) print add(2)(3)(5) # 10 print add(2)(3)(4)(5)(6)(7) # 27 # javascript 版 var add = function(x){ var addNum = function(x){ return add(addNum + x); }; addNum.toString = function(){ return x; } return addNum; } add(2)(3)(5)//10 add(2)(3)(4)(5)(6)(7)//27默认值陷阱
>>> def evil(v=[]): ... v.append(1) ... print v ... >>> evil() [1] >>> evil() [1, 1]
读写csv文件
import csv with open('data.csv', 'rb') as f: reader = csv.reader(f) for row in reader: print row # 向csv文件写入 import csv with open( 'data.csv', 'wb') as f: writer = csv.writer(f) writer.writerow(['name', 'address', 'age']) # 单行写入 data = [ ( 'xiaoming ','china','10'), ( 'Lily', 'USA', '12')] writer.writerows(data) # 多行写入数制转换
>>> int('1000', 2) 8 >>> int('A', 16) 10格式化 json
echo'{"k": "v"}' | python-m json.toollist 扁平化
list_ = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] [k for i in list_ for k in i] #[1, 2, 3, 4, 5, 6, 7, 8, 9] import numpy as np print np.r_[[1, 2, 3], [4, 5, 6], [7, 8, 9]] import itertools print list(itertools.chain(*[[1, 2, 3], [4, 5, 6], [7, 8, 9]])) sum(list_, []) flatten = lambda x: [y for l in x for y in flatten(l)] if type(x) is list else [x] flatten(list_)
list 合并
>>> a = [1, 3, 5, 7, 9] >>> b = [2, 3, 4, 5, 6] >>> c = [5, 6, 7, 8, 9] >>> list(set().union(a, b, c)) [1, 2, 3, 4, 5, 6, 7, 8, 9]
出现次数最多的 2 个字母
from collections import Counter c = Counter('hello world') print(c.most_common(2)) #[('l', 3), ('o', 2)]谨慎使用
eval("__import__('os').system('rm -rf /')", {})置换矩阵
matrix = [[1, 2, 3],[4, 5, 6]] res = zip( *matrix ) # res = [(1, 4), (2, 5), (3, 6)]
列表推导
[item**2 for item in lst if item % 2] map(lambda item: item ** 2, filter(lambda item: item % 2, lst)) >>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])) ['1', '2', '3', '4', '5', '6', '7', '8', '9']
排列组合
>>> for p in itertools.permutations([1, 2, 3, 4]): ... print ''.join(str(x) for x in p) ... 1234 1243 1324 1342 1423 1432 2134 2143 2314 2341 2413 2431 3124 3142 3214 3241 3412 3421 4123 4132 4213 4231 4312 4321 >>> for c in itertools.combinations([1, 2, 3, 4, 5], 3): ... print ''.join(str(x) for x in c) ... 123 124 125 134 135 145 234 235 245 345 >>> for c in itertools.combinations_with_replacement([1, 2, 3], 2): ... print ''.join(str(x) for x in c) ... 11 12 13 22 23 33 >>> for p in itertools.product([1, 2, 3], [4, 5]): (1, 4) (1, 5) (2, 4) (2, 5) (3, 4) (3, 5)
默认字典
>>> m = dict() >>> m['a'] Traceback (most recent call last): File "", line 1, in KeyError: 'a' >>> >>> m = collections.defaultdict(int) >>> m['a'] 0 >>> m['b'] 0 >>> m = collections.defaultdict(str) >>> m['a'] '' >>> m['b'] += 'a' >>> m['b'] 'a' >>> m = collections.defaultdict(lambda: '[default value]') >>> m['a'] '[default value]' >>> m['b'] '[default value]'
反转字典
>>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> m {'d': 4, 'a': 1, 'b': 2, 'c': 3} >>> {v: k for k, v in m.items()} {1: 'a', 2: 'b', 3: 'c', 4: 'd'}"有哪些有用的Python技巧"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
技巧
有用
内容
字典
文件
更多
知识
实用
学有所成
接下来
函数
困境
字母
实际
情况
扁平
文章
格式
案例
次数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
互联网科技公司排名
高科技互联网
互联网为科技
兼蜜互联网科技
互联网高科技企业
滨湖区互联网智能科技产品供应
恒生科技互联网指数分析
黑科技闪耀互联网之光
互联网科技革命什么开始
互联网5g黑科技有哪些
互联网科技扶贫时间
民营互联网公司国防科技
互联网新科技动漫ppt素材
群盈汇互联网科技有限公司
广州千川互联网科技有限公司
互联网领先科技宣传片
工业互联网科技成果转化
下一代互联网重大应用科技园
互联网的科技体现在哪里
金融科技与互联网金融
平安科技 互联网
科技创新互联网企业
融势互联网科技
哈尔滨新华互联网科技学院
全球顶尖互联网科技公司
语蝶互联网科技有限公司
崇明区互联网教育科技售后服务
深圳市优智互联网科技有限公司
互联网科技新闻