python使用建議與技巧分享(二)

2022-09-26 19:33:15 字數 1595 閱讀 9287

這是乙個系列文章,主要分享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 www.cppcns.comin (flag1, flag2, flag3):

print 'ok'

可以看到,前一種方式qvglmikf重複**太多,不推薦。後一種寫法更簡潔、易讀。另外,其實也可以通過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

# [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():

tiqvglmikfme.sleep(2)

print timeit(stmt="func1()",

setup="from __main__ import func1",

number=1)

# 2.00122451254

借助python的timeit模組,可以很輕易的測試出函式執行時間。在不知道timeit模組之前,我就是用前一種方式測試函式執行時間的,別笑。

python 使用建議與技巧分享(四)

這是 乙個 系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。1 如何列印更易讀的類 不推薦方式 class point object def init self,x,y self.x x self.y y p point 3,4 print p main point ...

python使用建議與技巧分享(一)

這是乙個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。1 如何建立指定長度且有特定值的list 不推薦方式 list1 0,0,0,0,0,0,0,0,0,0 print list1 0,0,0,0,0,0,程式設計客棧 0,0,0,0 推薦方式 list1 0 1...

python技巧分享(十一)

這是乙個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。my iter iter my list for e in my iter print e,next my iter 1 banana 2 grape 3 pear 借助iter函式,傳入list生成乙個迭代器,...