前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python技巧分享(二)

python技巧分享(二)

作者头像
俊采
发布2018-05-15 14:15:46
5410
发布2018-05-15 14:15:46
举报
文章被收录于专栏:LEo的网络日志LEo的网络日志

26 Jan 2018 python技巧分享(二)

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

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

  • 不推荐方式
代码语言:javascript
复制
flag1 = 1
flag2 = 0
flag3 = 0

if flag1 == 1 or flag2 == 1 or flag3 == 1:
    print 'ok'
  • 推荐方式
代码语言:javascript
复制
flag1 = 1
flag2 = 0
flag3 = 0

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

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

代码语言:javascript
复制
if any((flag1, flag2, flag3)):
    print 'ok'

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

代码语言:javascript
复制
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模块很有意思,大家感兴趣可以看看,能实现很多有趣的功能。比如可以轻易实现“洗牌”功能:

代码语言:javascript
复制
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 如何测试函数运行时间

  • 不推荐方式
代码语言:javascript
复制
import time


def func1():
    time.sleep(2)


begin_time = time.time()
func1()
passed_time = time.time() - begin_time
print passed_time
# 2.00099992752
  • 推荐方式
代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.01.26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 26 Jan 2018 python技巧分享(二)
    • 1 如何在if语句中检测多个条件
      • 2 如何从list中随机采样元素
        • 3 如何测试函数运行时间
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档