更多课程 选择中心


Python培训

400-111-8989

Python新手要掌握的实用技巧


今天小编要跟大家分享的文章是关于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行业发展的现状和前景?

人工智能的未来发展前景怎么样?

人工智能工程师月薪多少

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省