专栏首页LEo的网络日志python技巧分享(二)

python技巧分享(二)

26 Jan 2018 python技巧分享(二)

这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。

1 如何在if语句中检测多个条件

  • 不推荐方式
flag1 = 1
flag2 = 0
flag3 = 0

if flag1 == 1 or flag2 == 1 or flag3 == 1:
    print 'ok'
  • 推荐方式
flag1 = 1
flag2 = 0
flag3 = 0

if 1 in (flag1, flag2, flag3):
    print 'ok'

可以看到,前一种方式重复代码太多,不推荐。后一种写法更简洁、易读。另外,其实也可以通过any函数实现,如下:

if any((flag1, flag2, flag3)):
    print 'ok'

2 如何从list中随机采样元素

import random


all_data = [num for num in range(100)]
sample_data = random.sample(all_data, 20)
print sample_data
# [71, 25, 58, 79, 70, 69, 93, 29, 11, 30, 40, 81, 12, 48, 91, 21, 83, 42, 38, 31]

这里是从100个元素中,随机采样20个元素。可以看到,借助random模块的sample函数可以很轻易实现采样功能。python的random模块很有意思,大家感兴趣可以看看,能实现很多有趣的功能。比如可以轻易实现“洗牌”功能:

import random


order_list = range(10)
print order_list
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(order_list)
print order_list
# [3, 5, 9, 0, 8, 7, 1, 2, 6, 4]

3 如何测试函数运行时间

  • 不推荐方式
import time


def func1():
    time.sleep(2)


begin_time = time.time()
func1()
passed_time = time.time() - begin_time
print passed_time
# 2.00099992752
  • 推荐方式
import time
from timeit import timeit


def func1():
    time.sleep(2)


print timeit(stmt="func1()",
             setup="from __main__ import func1",
             number=1)
# 2.00122451254

借助python的timeit模块,可以很轻易的测试出函数运行时间。在不知道timeit模块之前,我就是用前一种方式测试函数运行时间的,别笑。

LEo at 22:13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python技巧分享(十二)

    songleo
  • shell技巧分享(二)

    songleo
  • python技巧分享(三)

    songleo
  • python 函数

    函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

    py3study
  • 小飞侠带你精通Python网络编程系列0

    1.NoneType: The Null object--空对象 2.Numerics(数值): int-整数, long-长整数, float-浮点数, co...

    py3study
  • Python基础回顾基本数据类型和运算容器分支和循环函数、生成器和类map, reduce和filter列表生成(list comprehension)字符串文件操作和pickle异常多进程(mult

    Python shell输入import this 可以看到The Zen of Python 基本数据类型和运算 基本数据类型 Python中最基本的数据类...

    SeanCheney
  • python %r %s %d 用法和区

    %可以理解为就是一个占位符。 python中用%代表格式符,表示格式化操作,常用的操作有%s,%d,%r等. %r用rper()方法处理对象 %s用str()方...

    py3study
  • Python 三十大实践、建议和技巧

    【导读】2020年,你又立了什么新的 Flag?新一年,我们先为大家准备 30 个非常优秀的 Python 实践技巧。希望这些诀窍能在实际工作中帮助大家,并且学...

    AI科技大本营
  • The tips of python

    像我们经常使用的一些数据结构:列表、元组…… 他们里面的数据都是实实在在地在我们的内存中,这是一种 显式 存储,当数据非常大的时候,我们的内存是吃不消的。这个时...

    AngelNH
  • 30 个 Python 代码小片段

    阅读别人的代码也是提高编程能力的一个有效方式。以下是整理的一些“常用”代码片段,分享给大家。

    Crossin先生

扫码关注云+社区

领取腾讯云代金券