你可能不知道的python 高效能魔法 1

2021-08-17 01:31:50 字數 2742 閱讀 4604

# coding:utf-8

import timeit

import time

######

######

######

######

## 1. quickly_map.py #############################

rt = timeit.timeit('"-".join(str(n) for n in range(100))',

number=10000)

print(rt)

# 0.252703905106

rt = timeit.timeit('"-".join([str(n) for n in range(100)])',

number=10000)

print(rt)

# 0.234980106354

rt = timeit.timeit('"-".join(map(str, range(100)))',

number=10000)

print(rt)

# 0.152318954468

######

######

######

######

### 2.在現有基礎上合併字典 ###

######

######

######

###rt1 = timeit.timeit("x = ; y = ;z = dict(x, **y);",number=10000)

print rt1

rt2 = timeit.timeit("for i in x.keys(): y[i]=x[i];","x = ; y = ;",number=10000)

print rt2

#########

######

######

######

# 3.looking very good json!###########################

#

import json

# ######

######

######

######

### 4.share file ###

######

######

######

######

######

### 你如果想快速且簡單地共享乙個目錄中的檔案,你只需在終端執行下面對應版本的指令:

## 5.給元組起乙個別名 ###############################

from collections import namedtuple

student = namedtuple("student", "name age weight")

student1 = student("jim", 20, 184)

print student1.name

print student1.age

print student1.weight

print student1

######

######

######

######

## 6.zip快速合併字典 ###############################

mat = [[1, 2, 3], [4, 5, 6]]

time_res1 = time.time()

res1 = zip(*mat) ### 這裡使用zip方法要快的多。

time_res2 = time.time()

print time_res2 - time_res1

print res1

time_res3 = time.time()

res2 = [[mat[j][i] for j in range(len(mat))] for i in range(len(mat[0]))]

time_res4 = time.time()

print time_res4 - time_res3

print res2

#########

######

######

#### 7. 求差集 ###

######

######

######

######

######

#####

ret1 = {}

ret1["no_red"] = " ".join(sorted(list(set([str(i) for i in range(30)]) - set([str(i) for i in range(20)])))) or u"無"

### 雖然上面的方法寫的貌似很繁瑣,括號很多。但是畢竟是內建函式,執行速度很快。

print ret1

ret2 = {}

ret2["no_red"] = " ".join(k for k in [str(i) for i in range(30)] if k not

in [str(i) for i in range(20)]) or u"無"

print ret2

你可能不知道的東西

元素可以分為塊級元素,行內元素以及行內塊級元素。行內元素的margin或者padding只有margin left和margin right以及padding left和padding right有效果,margin top margin bottom padding top padding bot...

你可能不知道的const

眾所周知,使用 const 宣告的變數必須同時初始化為某個值。一經宣告,在其生命週期的任何時候都不能再重新賦予新值 const a syntaxerror 常量宣告時沒有初始化 const b 3 console.log b 3 b 4 typeerror 給常量賦值const 宣告只應用到頂級原語...

你可能不知道的python logging機制

先來看幾個例子,先想一下執行結果,答案稍後揭曉 例一 mylogger logging.getlogger mylogger mylogger.info mylogger info mylogger.warning mylogger warning 例二 mylogger logging.getlo...