improve your python code(10)
来源:互联网 发布:网络剧特点是什么 编辑:程序博客网 时间:2024/05/25 08:15
1. 深拷贝与浅拷贝
- Python中对象的赋值都是进行对象引用(内存地址)传递
- 使用copy.copy(),可以进行对象的浅拷贝,它复制了对象,但对于对象中的元素,依然使用原始的引用.
- 如果需要复制一个容器对象,以及它里面的所有元素(包含元素的子元素),可以使用copy.deepcopy()进行深拷贝
- 对于非容器类型(如数字、字符串、和其他’原子’类型的对象)没有被拷贝一说
- 如果元祖变量只包含原子类型对象,则不能深拷贝。
2.使用Counter进行计数统计
#!/usr/bin/env python# encoding: utf-8"""@python version: python3.6.1@author: XiangguoSun@contact: sunxiangguodut@qq.com@site: http://blog.csdn.net/github_36326955@software: PyCharm@file: counter.py@time: 5/7/2017 7:32 PM"""from collections import Counterdata = ['a', '2', 2, 4, 5, '2', 'b', 4, 7, 'a', 5, 'd', 'a', 'z']print(Counter(data))print(list(Counter(data).elements())) """Counter(data).elements()获取Counter中的key值,是一个chain的迭代器"""print(Counter(data).most_common(2)) """找出前n个出现频率最高的元素以及他们对应的次数"""print(Counter(data)['y']) """访问不存在的元素时,返回0,而不是KeyError异常""""""output:Counter({'a': 3, '2': 2, 4: 2, 5: 2, 2: 1, 'b': 1, 7: 1, 'd': 1, 'z': 1})['a', 'a', 'a', '2', '2', 2, 4, 4, 5, 5, 'b', 7, 'd', 'z'][('a', 3), ('2', 2)]0""""""update()用于被统计对象元素的更新,原有Count计数器对象与新增元素的统计计数值相加。subtract()用于实现计数器对象中统计值相减,允许有负值。"""c = Counter("success")print(c)c.update("successfully")print(c)c.subtract("successzz")print(c)"""output:Counter({'s': 3, 'c': 2, 'u': 1, 'e': 1})Counter({'s': 6, 'c': 4, 'u': 3, 'e': 2, 'l': 2, 'f': 1, 'y': 1})Counter({'s': 3, 'u': 2, 'c': 2, 'l': 2, 'e': 1, 'f': 1, 'y': 1, 'z': -2})"""a = Counter(a=1,b=2,c=3,d=1)print(a) # output Counter({'c': 3, 'b': 2, 'a': 1, 'd': 1})
3.
0 0
- improve your python code(10)
- improve your python code(1)
- improve your python code(2)
- improve your python code(3)
- improve your python code(4)
- improve your python code(5)
- improve your python code(6)
- improve your python code(7)
- improve your python code(8)
- improve your python code(9)
- improve your python code(11)
- improve your python code(12)
- improve your python code(13)
- Improve Your Python: 'yield' and Generators Explained
- Improve Your Python: 'yield' and Generators Explained
- How to improve quality and syntax of your Android code
- Teaching course1 : How to improve your code quality
- 转-Code-Switching-to-Improve-Your-Writing-and-Productivity
- Ubuntu16.04向内核增加一个系统调用实验
- 信息安全工程师 学习笔记(十一)
- 我的五面经历--腾讯 百度 支付宝 阿里巴巴
- 编写高质量代码:改善Java程序的建议
- 操作系统内存详解
- improve your python code(10)
- 最小(代价)生成树
- powerdesigner设置主键自增
- python的osmnx包
- Plugin with id 'com.novoda.bintray-release' not found的解决方法
- opencv1---opencv环境搭建
- 省时的浏览器同步测试工具—Browsersync
- Hadoop基础教程-第1章 环境安装配置(1.3 XShell安装与配置)
- 动态规划14