Python小技巧总结

编码

  1. 写入json文件时出现的编码问题和缩进问题
with codecs.open('result.json', 'w', encoding='utf8') as json_file:
            json_file.write(json.dumps(item, ensure_ascii=False, indent=2))

列表

  1. 子列表合并
In [199]: l=[[1,2,3], [3,5,6], [7,8,9]]

In [200]: reduce(lambda x,y:x+y, l)
Out[200]: [1, 2, 3, 3, 5, 6, 7, 8, 9]
  1. 匹配最相似的
    从一堆list中找一个与目标list最相似的,相同项越多可以视为越相似
In [211]: s={5,6,7}
In [212]: ls=[{1,2,3}, {3,4,5}, {4,5,6}]

In [213]: sorted(ls, key=lambda x: set(x)&set(s), reverse=True)[0]
Out[213]: {4, 5, 6}

itertools模块

  • 排列组合的实现
In [217]: from itertools import combinations, permutations
     ...: print(permutations([1, 2, 3], 2))
     ...: print(list(permutations([1, 2, 3], 2)))
     ...: print(list(combinations([1, 2, 3], 2)))
     ...: 
<itertools.permutations object at 0xae84298c>
[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
[(1, 2), (1, 3), (2, 3)]

pip

  1. 换源
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容