10.内置函数(常用)

1.sep设定分割符
2.end 默认是换行可以打印到下一行

print(1,2,3,sep='|')>>>1|2|3
print(1,2, end=' ')
print(3,4)
'''
1 2 3 4
'''
文件写入的另一种方式
f=open('log','w',encoding='utf-8')
f.write('写入文件')
等同于
print('写入文件',file=f)
list
l1=list('ffeg')
print(l1)
dict
创建字典的几种方式
dic={1:2}
字典推导式
print({i:1 for i in range(3)})
dict()
dic=dict(one=1,two=2,three=3)
print(dic)
fromkeys()
a=dict.fromkeys('fege',[])
print(a)
'''
{'f': [], 'e': [], 'g': []}
'''
abs() 获取绝对值
print(abs(-10))
sum()数字相加求和
sum(iterable,)
print(sum([1,2,3,4]))
print(sum([1,2,3,4],100))
*非常非常非常重要的

min可以加功能
print(min([22,11,45,2]))
l1=[('alex', 73, 170), ('太白', 18, 185), ('武大', 35, 159),]
l1 = [(73, 'alex'), (35, '武大'), (18, '太白')]
找年龄最小的元组
print(min(l1))
通过设置key去使用min
key = 函数名
def func(x): # x = ('alex', 73)
return x[1]

返回值是什么就按照什么比较最小的。
min 会自动的将可迭代对象的每一个元素作为实参传给x,
'''
第一次,x = ('alex', 73) 73
第二次,x = ('武大', 35) 35
第三次,x = ('太白', 18) 18
'''
将遍历的那个元素即是 ('太白', 18) 返回
print(min(l1,key=func))
print(min(l1,key=lambda x: x[1]))

def func(x):
return x[1]

print(min(l1,key=func))
print(min(l1,key=lambda x: x[1]))
print(min(l1,key=lambda x: x[2])[0])
练习:

将dic值最小的键返回。
print(min(dic,key= lambda x:dic[x]))
将dic值最小的值返回。
print(dic[min(dic,key= lambda x:dic[x])])

dic = {'A':['李业', 67],'b': ['怼哥', 95],'c': ['冯垚', 85]}
将成绩最低的从属于的那个列表返回。
print(dic[min(dic,key=lambda x:dic[x][1])])
将成绩最低的分数返回。
print(dic[min(dic,key=lambda x:dic[x][1])][1])
max() 与min 相同。
dic = {'c': 1, 'b': 2, 'a': 3}
最小的值对应的键返回
print(min(dic))
print(min(dic,key=lambda x:dic[x]))

min 会自动将dic的每个key依次传给x,返回值设定什么,就按照什么比较大小。
最后将x返回。
最小的值对应的值返回
print(dic[min(dic, key=lambda x:dic[x])])

list = [
{'name': 'alex', 'age': 73},
{'name': 'wusir', 'age': 35},
{'name': '太白', 'age': 25},
]
将年龄最小的 字典返回。
print(min(list,key=lambda x: x['age']))
将年龄最小的名字返回。
print(min(list,key=lambda x: x['age'])['name'])
将年龄最小的年/龄返回。
print(min(list,key=lambda x: x['age'])['age'])
reversed()对一个可迭代对象进行翻转,返回一个迭代器
s1 = 'alex'
print(reversed(s1))>>>
<reversed object at 0x000000C566A59390>
for i in reversed(s1):
print(i)
'''
x
e
l
a
'''
内置函数:bytes()
s1='太白'
方法一:
print(s1.encode('utf-8'))

b'\xe5\xa4\xaa\xe7\x99\xbd'
方法二:
print(bytes(s1,encoding='utf-8'))
b'\xe5\xa4\xaa\xe7\x99\xbd'
解码:
b1 = b'\xe5\xa4\xaa\xe7\x99\xbd'
方法一:
print(b1.decode('utf-8'))>>>太白
方法二:
print(str(b1, encoding='utf-8'))>>>太白
zip 拉链方法 返回一个迭代器
l1 = [1,2,3,4]
tu =('a','b','c')
s ='python23'
print(zip(l1,tu,s))#<zip object at 0x0000009C4413B308>
print(list(zip(l1,tu,s)))
[(1, 'a', 'p'), (2, 'b', 'y'), (3, 'c', 't')]
sorted 排序

sorted 给字典(返回键),元组,集合 都返回一个列表

l1=[2,6,4,1,3]
列表原有的方法
l1.sort()
print(l1)#[1, 2, 3, 4, 6]
形成新列表
l1=[2,6,4,1,3]
print(sorted(l1))#[1, 2, 3, 4, 6]
print(l1)#[2, 6, 4, 1, 3]
s=(1,23,4,2)
print(sorted(s)#[1, 2, 4, 23]
dic = {1:'a',3:'c',2:'b'}
print(sorted(dic)) # 字典排序返回的就是排序后的key
[1,2,3]
s1={1,4,5,3}
print(sorted(s1))#[1,3,4,5]
加key
list1 = [
{'name': 'alex', 'age': 73},
{'name': 'wusir', 'age': 35},
{'name': '太白', 'age': 25},
]
加key
print(sorted(list1))#报错
print(sorted(list1,key=lambda x:x['age']))
print(sorted(list1, key=lambda x:x['age'],reverse=True))
'''
[{'name': '太白', 'age': 25}, {'name': 'wusir', 'age': 35}, {'name': 'alex', 'age': 73}]
[{'name': 'alex', 'age': 73}, {'name': 'wusir', 'age': 35}, {'name': '太白', 'age': 25}]
'''
l1 = [('张一东', 80), ('张耳洞', 75), ('怼怼哥', 7), ('李业', 59)]
print(sorted(l1,key=lambda x:x[1]))
print(sorted(l1,key=lambda x:x[1],reverse=True))
filter 返回一个生成器, 生成器表达式的筛选模式
l1 = [56, 67, 12, 34, 78, 90,]
print([i for i in l1 if i > 60])返回值为True的留下来print(filter(lambda x: x>60,l1))

<filter object at 0x000000810D0A9FD0>
print(list(filter(lambda x: x>60,l1)))
[67, 78, 90]

lst = [{'id':1,'name':'alex','age':50},
{'id':1,'name':'wusir','age':17},
{'id':1,'name':'taibai','age':16},]

print(list(filter(lambda x:x['age']<30,lst)))

[{'id': 1, 'name': 'wusir', 'age': 17}, {'id': 1, 'name': 'taibai', 'age': 16}]
map 返回一个迭代器,相当于生成器表达式:循环模式
l1 = [56, 67, 12, 34, 78, 90,]
print([i2 for i in l1])
print(map(lambda x:x
2,l1))
print(list(map(lambda x:x**2,l1)))
reduce python3x 从内置函数剔除了。
reduce 累加 (reduce python3x 从内置函数剔除了。)
from functools import reduce
'''
第一次:x,y 1,2 求和 3 记录到内存
第二次:x,y 3,3 求和 6 记录到内存
第三次:x,y 6,4 .........

'''
print(reduce(lambda x,y: x+y,[1,2,3,4,5]))
print(reduce(lambda x,y: 2*x+y, [1,2,3]))
print(reduce(lambda x,y: x+y, ['alex','s','b'])) # 可以用字符串拼接
'''
15
11
alexsb
'''
17.int format

print(int('0010'))>>>10默认将一个字符串转化成十进制
print(int('00000101',2))>>>将一个字符串类型的二进制转化成真正的十进制。12**0+021+1*22
format()内置函数
print(format('test','<20'))
print(format('test','>0'))
print(format('test','^20'))
将一个十进制转化成8位二进制(字符串类型)
ret = format(10,'08b')
print(ret,type(ret))

00001010 <class 'str'>

posted @ 2019-06-26 11:57  God_with_us  阅读(177)  评论(0编辑  收藏  举报