sam分类算法python代码_Python性能鸡汤_实践Sam

2023-11-17

Python性能鸡汤   一文见:http://www.oschina.net/question/1579_45822

下面是关于其中一些点,我的实践:

1. 内建函数:

2. join()连接字符串:

l=['aa','bb']

mystring = ",".join(l)

print mystring

import string

ss=['hehe','haha',"xixi"]

print string.join(ss,'')

[work@cq01-testing-sdcads-vir43.vm.baidu.com script]$ python test.py

aa,bb

hehehahaxixi

8. list comprehension

漂亮地实现 python 数组遍历

>>> arrayA = [1,2,3,4,5,6,7]

>>> arrayB = [ number for number in arrayA if number % 2 ]

>>> print arrayB

[1, 3, 5, 7]

我们把这段代码用括号分成三个部分:(number) (for number in arrayA) (if number % 2)

第一部分,表明我们的新数组的元素表示为number;

第二部分,是说number是取之于数组arrayA的遍历;

第三部分,是说是否产生该元素的条件,即当number取2的模为非0数的时候(奇数)就选取该number。

下面的例子使用了2個 for

nums = [1,2,3]

fruit = ["Apples", "Peaches", "Bananas"]

print [(i,f) for i in nums for f in fruit]

上面的程式會印出

[(1, 'Apples'), (1, 'Peaches'), (1, 'Bananas'),

(2, 'Apples'), (2, 'Peaches'), (2, 'Bananas'),

(3, 'Apples'), (3, 'Peaches'), (3, 'Bananas')]

下面的例子使用了2個 for 跟2個 if

nums = [1,2,3]

fruit = ["Apples", "Peaches", "Bananas"]

print [(i,f)for i in nums for f in fruitif i % 2 == 1 if f[0] == 'P']

上面的程式會印出

[(1, 'Peaches'), (3, 'Peaches')]

摘自:

http://blog.ipattern.org/archives/600

http://descriptor.blogspot.com/2008/11/python-idiom-list-comprehensions.html

9. xrange()替代range()

据说range比xrange开销要大,原因是range会直接生成一个list对象,而xrange每次调用返回其中的一个值;参考:http://yushunzhi.iteye.com/blog/207850。于是好奇做了个小小的测试,比较两个函数性能到底有多大差别。

#!/usr/bin/env python

from datetime import *

def test_range():

c1=0

t1 = datetime.now()

for i in range(0,100000):

c1 += 1

print datetime.now()-t1

def test_xrange():

c1=0

t1 = datetime.now()

for i in xrange(0,100000):

c1 += 1

print datetime.now()-t1

if __name__ == '__main__':

test_range()

test_xrange()

结果

从上图的三次运行结果可以看出,range在相同计算量下用时比xrange多了70%左右。另外,在不同的计算量情况下,用时基本也维持在这个比例。因此,如果并不需要返回list对象的话,xrange会是个好选择。

11. itertools模块: 排列组合

>>> import itertools

>>> iter=itertools.permutations([1,2,3])

>>> print iter

>>> tuple(iter)

((1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1))

>>> tuple(iter) #用完一次就没了

()

>>>

>>> import itertools

>>> iter=itertools.permutations([1,2,3])

>>> list(iter)

[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

>>> list(iter)

[]

>>> test = combinations([1,2,3,4], 2)

>>> for el in test:

... print el

...

(1, 2)

(1, 3)

(1, 4)

(2, 3)

(2, 4)

(3, 4)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sam分类算法python代码_Python性能鸡汤_实践Sam 的相关文章

随机推荐

  • java压缩字符串并生成二维码

    针对特殊需求需要使用二维码传输数据 为了降低二维码的复杂度和提高数据传输量 需要先对数据进行压缩 然后生成二维码 压缩后的数据是byte 如果再转回字符串会严重影响压缩效果 因此考虑直接使用byte 生成和解析二维码 为了实现使用byte
  • 解决 “/lib64/libc.so.6: version `GLIBC_2.18‘ not found (required by /lib64/libstdc++.so.6)“

    https blog csdn net wiborgite article details 87707938
  • 基于RedHat 8.2源码编译升级Kernel 5.8.1

    1 基于RedHat 8 2源码编译升级Kernel 5 8 1 1 1 背景 只是单纯为了验证工作中遇到的一个bug 才诞生了此文 1 2 先从如下网址下载内核源码包 我这里下载的是 linux 5 8 1 tar gz 大家可根据自己需
  • 无监督深度估计、运动估计的深度学习方法(二)——SSIM损失函数

    在自监督深度估计中 一般输入2张图像 若为视频 则输入邻近的两帧图像 frame1和frame2 模型先估计相机拍摄这2张图像是的姿态变化pose 然后根据pose将frame1变换到frame2的视角下 得到合成图像synthetic f
  • 数据类型:C++中的基本数据类型

    数据类型 C 中的基本数据类型 在C 中 数据类型是用于存储不同种类数据的变量类型 C 提供了多种基本数据类型 包括字符型和数值类型 本篇博客将详细介绍C 中的基本数据类型 并提供相应的示例代码 目录 引言 字符型数据类型 2 1 char
  • Mysql数据备份-定时自动备份dump备份命令

    登录数据库服务器并打开命令行工具 如Windows系统中的cmd exe 或图形化管理工具 如phpMyAdmin Navicat等 根据数据库类型 执行相应的备份命令 例如 MySQL数据库可以使用以下命令导出备份 mysqldump u
  • 数仓分层理论

    数据仓库 在实际工作中 数仓分层 元数据管理 数据质量管理一直是一个持续优化的过程 我们公司业务也是在持续的做数仓的优化工作 在数据治理这方面还是欠缺很多的经验的 下面先简单整理了一下第一个理论部分的相关笔记 数据仓库理论 数据仓库四大特征
  • 锐捷ap设置为路由模式_路由器AP、路由、桥接模式有什么区别【详细介绍】

    现在的路由大多数已经开始支持多种网络连接模式 那么我们就挑一款模式最全的路由来了解各种模式的区别吧 下文将以TP Link迷你无线路由器为例 在TP Link迷你无线路由器上一般有AP 接入点 模式 Router 无线路由 模式 Repea
  • stm32——EXTI

    EXTI 外部中断 是stm32的众多外设之一 属于中断的一种 它最重要的就是通过检测外部引脚口的电平变化 比如说上升沿 下降沿 以及双边沿 来触发中断 让主程序放下当前的事情 去执行发生中断时应该执行的事情 设置好的函数 大概是如上所属
  • SpringBoot集成OAuth2.0的四种授权方式

    背景 OAuth 开放授权 是一个开放标准 允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息 而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容 OAuth2 0 是OAuth协议的延续版本 但不向后兼容 OAuth
  • Numpy掩码数组masked arrays,这一篇就够了

    Numpy掩码数组masked arrays 这一篇就够了 1 什么是掩码数组 2 示例 2 1 一个例子走进掩码数组 2 2 创建一个数组第二个值是无效的 2 3 创建一个数组所有靠近1 e20的值是无效的 2 4 只获取有效项 2 5
  • 8647服务器装系统,机柜系统资料的.doc

    机柜系统资料的 机房冷通道 机柜系统分为节能系统 机柜 走线系统和配电系统 随着数据中心数据量的飞块速增长 数据中心的能耗量越来越高 主要由运行高功率的IT设备所致 且这些IT设备的密度还在不断提高 IT设备运行所产生大量的热 是数据中心所
  • MySql登录方法

    登录mysql u 用户名 p 用户对应密码 h 主机 socket IP地址 端口号 eg 192 168 10 113 3306 1 方法 mysql u root p密码 mysql u root p mysql hlocalhost
  • shineblink MPU6050六轴传感器测量物体姿态角

    MPU6050六轴传感器测量物体姿态角 一 姿态角 欧拉角 基本概念 二 代码实现功能描述 三 接线图 五 完整代码 六 代码运行结果 七 需要注意的地方 一 姿态角 欧拉角 基本概念 物体在空间中的姿态可以用欧拉角来定义 欧拉角包含pit
  • 数据分析——最小二乘法建立线性回归方程(最简单的一元线性模型为例)

    概述 别看公式多 其实很简单 最小二乘法其实又叫最小平方法 是一种数据拟合的优化技术 实质上是利用最小误差的平方寻求数据的最佳匹配函数 利用最小二乘法可以便捷的求得未知的数据 起到预测的作用 并且是的这些预测的数据与实际数据之间的误差平方和
  • Linux 异步 I/O 框架 io_uring:基本原理、程序示例与性能压测

    io uring是 2019 年 Linux 5 1内核首次引入的高性能异步 I O 框架 能显着加速 I O 密集型应用的性能 但如果你的应用已经在使用传统 Linux AIO 了 并且使用方式恰当 那io uring并不会带来太大的性能
  • 2023年最新Python安装详细教程

    目录 一 python官网 二 在官网的Downloads栏目 选择对应的操作系统 三 进入windows对应的页面 选择python版本 1 选择python的稳定发布版本Stable Releases 2 下载python的安装程序Wi
  • SO_RCVTIMEO超时errno

    首先打印一次recv调用失败的errno值和各个宏的值 由上可知 EAGIN和EWOULDBLOCK的值都是11 其实EAGIN是在setsockopt设置SO RCVTIMEO或SO SNDTIMEO后 recv或者send系列函数超时等
  • Centos 安装KVM并安装虚拟机

    需要注意的地方 如果修改了虚拟机XML配置 需要停止虚拟机 然后使用以下命令重新读取XML配置 virsh define etc libvirt qemu centos7 xml Linux服务器两块独立的网卡最好不要配置同一网段的IP地址
  • sam分类算法python代码_Python性能鸡汤_实践Sam

    Python性能鸡汤 一文见 http www oschina net question 1579 45822 下面是关于其中一些点 我的实践 1 内建函数 2 join 连接字符串 l aa bb mystring join l prin