python使用笔记

来源:互联网 发布:交通银行软件开发待遇 编辑:程序博客网 时间:2024/06/05 18:00

1. 将字符串转换成字典的小方法:

'''方法1'''s='abcd'd=dict(zip(range(len(s)),s))'''方法2'''d=dict()for index,element in enumerate(s):   d[index]=element

2. 快速计算字符串中每一个字符出现的频率

s='arrange'd = {}for x in s:    d[x] = d.get(x, 0) + 1

3.join用法

python 中join用来将数组/字典中的元素以指定连接符连接到一起
比如:

t=list('arrangement')t.sort()t=''.join(t)

新的t结果为:

'aaeegmnnrrt'

这样就对string完成了整理。

4. set的使用

简单来说,set就是把一串序列、字典变化成一个只包含不重复key 的列表

'''返回去除了d1与d2交集的d1'''def subtract(d1, d2):    return set(d1) - set(d2)
'''判断t中是否有重复代码'''def has_duplicates(t):    return len(set(t)) < len(t)
'''常规方法判断available中是否包含word中所有的字符'''def uses_only(word,available):    for letter in set(word):        if letter not in available:            return False    return True
'''使用set判断available中是否包含word中所有的字符'''def uses_only(word,available):    return set(word)<=set(available)

5. Counter 的使用

Counter被用作计算string ,list,dict类型中element 出现的频率,比如

'''计算parrot各个字母出现的频率'''from collections import Countercount=Counter('parrot')print(count)Counter({'r': 2, 'a': 1, 'p': 1, 't': 1, 'o': 1})print(count['d'])#count['d']与dict不同,这个表达式输出结果为0,而不是exception0type(count)<class 'collections.Counter'>
'''计算word1与word2是否包含相同的字符,一致返回True,不一致返回False'''from collections import Counterdef is_anagram(word1,word2):    return Counter(word1)==Counter(word2)word1='word1'word2='word2'is_anagram(word1,word2)
'''计算字符串中排名前3的key及frequent'''from collections import Countercount=Counter('parrot')for val,freq in count.most_common(3):    print(val,freq)#resultr 2a 1p 1

6. 将bytes类型转换为utf-8类型

如何将bytes转换为str类型,只需要将其转换为utf-8类型的str

x=b'xxx'str(x,'utf-8')

7. filter的使用

fiter是在列表中筛选满足条件的数值并成立新的列表

def f1(x):    if x>20:        return True    else :        return Falsel1=[1,3,25,3,30,2]l2=filter(f1,l1)l3=[]for t in l2:    l3.append(t)    print(l3)[25][25, 30]

8.map的使用

转载来源:http://blog.csdn.net/damotiansheng/article/details/44139111
map 用意是映射每个列表中相应元素并返回新的列表

l1=[0,1,2,3,4,5,6]l2=['SUN','M','TU','W','TH','F','S']def f1(x,y):    return (x,y)map(f1,l1,l2)<map object at 0x7f98e12181d0>l3=map(f1,l1,l2)print(l3)<map object at 0x7f98db2725c0>print(list(l3))[(0, 'SUN'), (1, 'M'), (2, 'TU'), (3, 'W'), (4, 'TH'), (5, 'F'), (6, 'S')]f1<function f1 at 0x7f98db277048>

map函数会根据提供的函数对指定序列做映射。
map函数的定义:
map(function, sequence[, sequence, …]) -> list
通过定义可以看到,这个函数的第一个参数是一个函数,剩下的参数是一个或多个序列,返回值是一个集合。
function可以理解为是一个一对一或多对一函数,map的作用是以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的list。
比如要对一个序列中的每个元素进行平方运算:

map(lambda x: x ** 2, [1, 2, 3, 4, 5])

返回结果为:

[1, 4, 9, 16, 25]

在参数存在多个序列时,会依次以每个序列中相同位置的元素做参数调用function函数。
比如要对两个序列中的元素依次求和。

map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])

map返回的list中第一个元素为,参数序列1的第一个元素加参数序列2中的第一个元素(1 + 2),
list中的第二个元素为,参数序列1中的第二个元素加参数序列2中的第二个元素(3 + 4),
依次类推,最后的返回结果为:

[3, 7, 11, 15, 19]

要注意function函数的参数数量,要和map中提供的集合数量相匹配。
如果集合长度不相等,会以最小长度对所有集合进行截取。
当函数为None时,操作和zip相似:

map(None, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])

返回结果为:

[(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]

9.reduce函数的使用

reduce函数,reduce函数会对参数序列中元素进行累积。
reduce函数的定义:
reduce(function, sequence[, initial]) -> value
function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。
第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。

reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)

结果为21( (((((1+2)+3)+4)+5)+6) )

reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])

结果为20

10. getattr,hasattr,setattr的定义

hasattr(object,name):判断对象object中是否有name属性,返回值true或false
setattr(object,name,values),在对象objec中设置属性name,若不存在就先创建并赋值为values
getattr(object,name[,values]),获取对象object中的name属性,如果没有这个属性就返回默认值values

11. locals()和globals()

两种方法均是查看变量,不同的是locals是浅拷贝,globals是深拷贝。

12. id,is,与“==”函数

id(object)是获取对象的id值
oba is obb 判断对象a与对象b的id是否相同
oba == obb 判断对象a与对象b的值是否相同

13. 解读:int(object, base=value)

此句含义是将object转换为以base进制的int值,如:

 int('13',base=6)

意思为将6进制的13转换为10进制数。

16. pow函数的使用

pow(x,y)意思是计算x的y次方,即x**y
pow(x,y,z)的意思是先计算x的y次方,然后将结果对z取模,即(x**y)%z

17. round函数的使用

round函数实现对浮点数进行保留位数,
round(x[,n]),浮点数x,保留小数位数n,
使用round函数需注意python版本问题带来的坑,可参见:

https://www.cnblogs.com/anpengapple/p/6507271.html

简单来说就是python2与python3之间存在不同的round定义,因此在迁移过程中应注意.

18.解读:str.center(width[,fillchar])

生成一个长度为widh的字符串,将str设置为居中,如果len(str)

19 解读:str.count(want_str,start,end)

在len(str)的[start,end)区间内查找want_str

20. format函数

format函数比%更强大,使用方法也更灵活,
(1) 最常使用:通过位置来填充

//按照默认顺序填充'{}{}'.format('hello','world')//指定顺序填充'{0}{1},{0}!'.format('hello','world')//指定属性名称填充'{arg1}{arg2}'.format(arg1='hello',arg2='world')//使用列表填充l1 = ['hello','world']'{0[0]},{0[1]}'.format(l1)//使用字典填充d1 = {'name1':'hello','name2':'world'}'{arg1[name1]},{arg1[name2]}'.format(arg1=d1)//通过对象属性填充class Names():    name1 = 'hello'    name2 = 'world''{Names.name1}{Names.name2}'.format(Names=Names)//使用变参args = ['hello','hello again']kwargs = {'name1':'world','name2':'big world'}'{},{name1},{},{name2}'.format(*args,**kwargs)//用作转义'{{hello,{}}}'.format('world')//用作函数foo = '{},{}'.formatfoo('hello','world')//格式化时间from datetime import datetimenow = datetime.now()'{:%Y-%m-%d}'.format(now)//用作内嵌'hello {0:>{1}}'.format('world',50)//!s代表输出为str,!r代表输出为repr,!a代表输出为ascii//注:简单来讲,repr和str的差别在于str输出至用户,而repr面向python,'{!s}'.format('2') #2'{!r}'.format('2') #'2'// <代表左对齐,^代表居中,>代表右对齐,:后跟填充的单一类型字符,默认填充空格,f代表精度,'{:a<8.2f}'.format(5.2345) #5.23aaaa//b代表二进制,d代表十进制,o代表八进制,x代表十六进制'{:b}'.format(4) # 100

21. 解读:str.isalnum

判断str中是否为纯字母与数字.

22. 解读:”link_str”.join([“str_a”,”str_b”])

实现str_a与str_b通过link_str进行连接,结果为”str_alink_strstr_b”,注意join内为元组或列表

23. 解读:str.strip(delete_str),str.lstrip(delete_str),str.rstrip(delete_str)

去除str中首尾包含delete_str的字符,去除首侧包含delete_str的字符,去除尾侧包含delete_str的字符,如果delete_str为空,则删除空格

24. 实现字符串大小写变换的功能

str.lower():字符串小写
str.upper():字符串大写
str.swapcase():交换字符串大小写
str.capitalize():字符串首字符大写
str.title():字符串中所有字符都是以大写开始
str.capwords(want_str):只将want_str大写;

25. 解读:str.zfill(width)

向str左侧填充width-len(str)个0

26. try语句的使用方法:

try:     #Normal execution blockexcept A:     #Exception A handleexcept B:     #Exception B handleexcept:     #Other exception handleelse:     #if no exception,get herefinally:     #do something  

28. 判断列表中元素类型

insintantce(element, type)

原创粉丝点击