python16

#保留原列表返回倒序
l=[1,2,3,4]
l2=reversed(l)
for i in l2:
    print(i)
    
    '''
slice切片
'''
l=(1,2,3,4,5,6,23)
sli=slice(1,5,1)
print(l[sli])

读到内存中都是unicode
'''

'''
print(format('test','<20'))#左对齐
print(format('test','>20'))#右对齐
print(format('test','^20'))#居中

 

#unicode转成uf-8编码
print(bytes("你好",encoding='GBK').decode('GBK'))
#unicode转成utf-8的bytes
print(bytes('你好',encoding='utf-8'))

b_array=bytearray('你好',encoding='utf-8')
print(b_array)
print(b_array[0])
'''
输出的结果 
bytearray(b'\xe4\xbd\xa0\xe5\xa5\xbd')
228
'''

 

l='asdfsgddg';
l2=l[:5]
print(l2)
print(l)
'''
memoryview只是拿出一部分看看,不占内存
'''
'''
ord()查看字符的unicode编码
chr() 把unicode转成字符
'''
print(ord('a'))
print(ord('1'))
'''
97
49
'''

'''
格式化输出
repr()带着原有的引号输出
'''
name='egg',
print('你好%r'%name)
print(repr('1'))
print(repr(1))

'''
all()
列表中只要有一个false,结果就为false
any()
只要有一个是真的,就是真的

'''
t=all(['a','',123])
print(t)
'''
zip()拉链方法,第一个参数作为key,第二个参数作为value
'''
l=[1,2,3]
l2=['a','b','c']
print(zip(l,l2))
for i in zip(l,l2):
    print(i)


'''
筛选所有奇数
'''
def is_odd(x):
    return x%2==1
#这是迭代器
ret=filter(is_odd,[1,4,5,6,7,8])

print(ret)
for i in ret:
    print(i)

'''
筛选所有字符串
'''
def is_str(x):
    return type(x)==str
#这是迭代器
ret=filter(is_str,[1,4,'asc',5,6,7,8])

print(ret)
for i in ret:
    print(i)

'''
筛选所有字符串
'''
def is_str(s):
    return s and str(s).strip()
#这是迭代器
ret=filter(is_str,[1,' ','',[],4,'asc',5,6,7,8])
for i in ret:
    print(i)

'''
方式一
'''
import math
print(math.sqrt(16))
'''
方式二
'''
from math import sqrt
print(sqrt(4))
'''
方式一
'''
import math
print(math.sqrt(16))
'''
方式二
'''
from math import sqrt
print(sqrt(4))
'''
取出开平方后为整数
'''
from math import sqrt
def func(num):
    res=sqrt(num)
    return res%1==0

ret=filter(func,range(1,101))
for i in ret:
    print(i)
'''
对每个元素执行方法
'''
ret=map(abs,[1,3,4,-5])
print(ret)
for i in ret:
    print(i)
'''
排序
在源列表进行排序
'''

l=[1,-4,2,6]
l.sort(key=abs)
print(l)

'''
排序,在内存中生成
'''
l=[1,-4,6,5,-10]
print(sorted(l))
print(l)
'''
排序,在内存中生成
'''
l=[1,-4,6,5,-10]
#增加reverse倒序
print(sorted(l,reverse=True))
print(l)
'''
按照元素长度排序
'''
l=['     ',[1,2],'hello World']
new_l=sorted(l,key=len)
print(new_l)
'''
匿名函数
'''
cale=lambda n:n**n
print(cale(3))

'''
匿名函数
函数名=lanbda 参数1,参数2  :返回值
'''
cale=lambda x,y :x+y
print(cale(3,4))
'''
取最大值
'''
cale=lambda x,y :x if x>y else  y
print(cale(3,4))
'''
取最大的value值
'''
def func(key):
    return dic[key]
dic={'k1':10,'k2':100,'k3':30}
print(max(dic,key=lambda k:dic[k]))
t1=(('a'),('b'))
t2=(('c'),('d'))
'''
元组转成字典
'''
res=list(map(lambda tup :{tup[0]:tup[1]},zip(t1,t2)))
print(res)


'''
生成器题目

'''
def multipliers():
    return [lambda x:i*x for i in range(4)]#i=[0,1,2,3]
print([m(2) for m in multipliers()])

 

posted @ 2019-05-02 17:41  jiuchen  阅读(123)  评论(0)    收藏  举报