更多課程 選擇中心

Python培訓
美國上市教育機構

400-111-8989

Python培訓

Python新手要掌握的實用技巧

  • 發布:Python培訓
  • 來源:職場
  • 時間:2020-03-07 14:37

今天小編要跟大家分享的文章是關于Python新手要掌握的實用技巧。希望本篇文章能夠對正在學習和從事Python工作的小虎駁們有所幫助,下面我們一起來看一看吧!

Python新手要掌握的實用技巧

一、函數連續調用

def add(x):

class AddNum(int):

def __call__(self, x):

return AddNum(self.numerator + x)

return AddNum(x)

print add(2)(3)(5)

# 10

print add(2)(3)(4)(5)(6)(7)

# 27

# javascript 版

var add = function(x){

var addNum = function(x){

return add(addNum + x);

};

addNum.toString = function(){

return x;

}

return addNum;

}

add(2)(3)(5)//10

add(2)(3)(4)(5)(6)(7)//27/

二、默認值陷阱

>>> def evil(v=[]):

... v.append(1)

... print v

...

>>> evil()

[1]

>>> evil()

[1,

1]

三、讀寫csv文件

import csv

with open('data.csv',

'rb')

as f:

reader = csv.reader(f)

for row

in reader:

print row

# 向csv文件寫入

import csv

with open(

'data.csv',

'wb')

as f:

writer = csv.writer(f)

writer.writerow(['name',

'address',

'age'])

# 單行寫入

data = [

(

'xiaoming ','china','10'),

(

'Lily',

'USA',

'12')]

writer.writerows(data)

# 多行寫入

四、數制轉換

>>> int('1000',

2)

8

>>> int('A',

16)

10

五、格式化 json

echo'{"k": "v"}' | python-m json.tool

六、list 扁平化

list_ = [[1,

2,

3], [4,

5,

6], [7,

8,

9]]

[k

for i

in list_

for k

in i]

#[1, 2, 3, 4, 5, 6, 7, 8, 9]

import numpy

as np

print np.r_[[1,

2,

3], [4,

5,

6], [7,

8,

9]]

import itertools

print list(itertools.chain(*[[1,

2,

3], [4,

5,

6], [7,

8,

9]]))

sum(list_, [])

flatten =

lambda x: [y

for l

in x

for y

in flatten(l)]

if type(x)

is list

else [x]

flatten(list_)

七、list 合并

>>> a = [1,

3,

5,

7,

9]

>>> b = [2,

3,

4,

5,

6]

>>> c = [5,

6,

7,

8,

9]

>>> list(set().union(a, b, c))

[1,

2,

3,

4,

5,

6,

7,

8,

9]

八、出現次數最多的 2 個字母

from collections

import Counter

c = Counter('hello world')

print(c.most_common(2))

#[('l', 3), ('o', 2)]

九、謹慎使用

eval("__import__('os').system('rm -rf /')", {})

十、置換矩陣

matrix = [[1,

2,

3],[4,

5,

6]]

res = zip( *matrix )

# res = [(1, 4), (2, 5), (3, 6)]

十一、列表推導

[item**2 for item

in lst

if item %

2]

map(lambda item: item **

2, filter(lambda item: item %

2, lst))

>>> list(map(str, [1,

2,

3,

4,

5,

6,

7,

8,

9]))

['1',

'2',

'3',

'4',

'5',

'6',

'7',

'8',

'9']

十二、排列組合

>>> for p

in itertools.permutations([1,

2,

3,

4]):

... print ''.join(str(x)

for x

in p)

...

1234

1243

1324

1342

1423

1432

2134

2143

2314

2341

2413

2431

3124

3142

3214

3241

3412

3421

4123

4132

4213

4231

4312

4321

>>> for c

in itertools.combinations([1,

2,

3,

4,

5],

3):

... print ''.join(str(x)

for x

in c)

...

123

124

125

134

135

145

234

235

245

345

>>> for c

in itertools.combinations_with_replacement([1,

2,

3],

2):

... print ''.join(str(x)

for x

in c)

...

11

12

13

22

23

33

>>> for p

in itertools.product([1,

2,

3], [4,

5]):

(1,

4)

(1,

5)

(2,

4)

(2,

5)

(3,

4)

(3,

5)

十三、默認字典

>>> m = dict()

>>> m['a']

Traceback (most recent call last):

File

"<stdin>", line

1,

in <module>

KeyError:

'a'

>>>

>>> m = collections.defaultdict(int)

>>> m['a']

0

>>> m['b']

0

>>> m = collections.defaultdict(str)

>>> m['a']

''

>>> m['b'] +=

'a'

>>> m['b']

'a'

>>> m = collections.defaultdict(lambda:

'[default value]')

>>> m['a']

'[default value]'

>>> m['b']

'[default value]'

十四、反轉字典

>>> m = {'a':

1,

'b':

2,

'c':

3,

'd':

4}

>>> m

{'d':

4,

'a':

1,

'b':

2,

'c':

3}

>>> {v: k

for k, v

in m.items()}

{1:

'a',

2:

'b',

3:

'c',

4:

'd'}

以上就是小編今天為大家分享的關于Python新手要掌握的實用技巧的文章,希望本篇能夠對正在學習和從事Python相關工作的小伙伴們有所幫助,想要了解更多Python相關知識記得關注達內Python培訓官網。最后祝愿小伙伴們工作順利!

來源:蘇生不惑

鏈接:https://mp.weixin.qq.com/s/ATvPzfLHwp0wEH5-tMW2cg

【免責聲明:本文圖片及文字信息均由小編轉載自網絡,旨在分享提供閱讀,版權歸原作者所有,如有侵權請聯系我們進行刪除?!?

預約申請免費試聽課

填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

上一篇:Python適用于哪些行業?薪資情況怎么樣?
下一篇:Python中字符串的處理技巧有哪些?

學習Python之后能做什么?

提高Python開發者工作效率的方法有哪些

Python開發者要知道的Python GUI 庫有哪些

Python面試的常見問題有哪些

選擇城市和中心
黑龍江省

吉林省

河北省

湖南省

貴州省

云南省

廣西省

海南省

亚洲Av -宅男色影视,首长不要好深h,gogo人体高清大胆专