python内置函数

目录

内置函数简介

数据运算

类型转换

序列操作

Set集合


内置函数简介 

内置函数就是python安装后自带的函数。

数学运算

1.abs()取绝对值函数

print(abs(-32))

2.round()取近似值

print(round(3.66))
print(round(3.66,1))

3.pow()求次方

print(pow(3,3))

4.divmod求商和余数

print(divmod(7,3))

5.max()求最大值

print(max([23,2,43]))
print(max(23,33))

6.sum()求和

print(sum(range(50)))
print(sum(range(50),3))

7.eval()执行表达式(字符串类型)

a,b,c=1,2,3
print(eval('a+b+c'))

类型转换

1.bin()将十进制转化为二进制

print(bin(10))

2.hex()将十进制转换为16进制

print(hex(10))

3.list()将元祖转换为列表

tup=(1,2,3,4)
li=list(tup)
print(type(li))
li.append('强制转换成功')
print(li)

4.tuple()将列表转换为元祖

tuplist=tuple(li)
print(type(tuplist))

5.字典操作dict()

dic=dict(name='小明',age=18)#创建字典
print(type(dic))
print(dic)

5.bytes()转换为字节数组

print(bytes('我喜欢python',encoding='utf-8'))

序列操作

序列操作:str 元组 列表

1.all() reuslt:bool

函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False元素除了是 0、空、FALSE 外都算 TRUE

注意:空元组、空列表返回值为True

print(all([])) #true
print(all([1,2,3,False]))

2.any()内容全部为False才返回False,只要有一个元素为True,结果就为True

print(any((2,34,4)))
print(any((0,0,0)))

3.sort和sorted

sort只能给list排序

sorted对任意对象排序,排序完后返回到一个新的列表上

li=[2,45,1,67,23,10]
li.sort()#list排序方法,直接修改的是原始对象--默认升序排列
print(li)


varslist=sorted(li)#升序排列
varslist=sorted(li,reverse=True)#降序排列
print(varslist)

4.reverse()反向排列

a=[1,2,3,4,5]
a.reverse()
print(a)

5.range(start:stop:步长)--左闭右开

for item in range(10):
    print(item)
    pass

6.zip():用来打包,会把序列中对应的索引位置的元素存储一个元组。

当俩个元组不一致时,按照最少的存储。

s1=['a','b','c']
s2=['你','我','他']
s3=['你','我','他','哈哈','呵呵']
print(zip(s1))
#可以转换成列表查看zip里面的内容
print(list(zip(s1)))
ziplist=zip(s1,s3) #倆个参数
print(list(ziplist))

zip()函数的例子:

def printBookInfo():
    '''
    zip函数使用
    :return:
    '''
    books=[]#存储所以的图书信息
    id=input('请输入编号:每个项空格分隔')#str
    bookName=input('请输入书名:每个项空格分隔')
    bookPos=input('请输入位置:每个项空格分隔')
    idList=id.split(' ') #分隔
    nameList = id.split(' ')
    posList = id.split(' ')
    booInfo=zip(idList,nameList,posList)#进行打包处理

    for bookItem in booInfo:
        '''
        遍历图书信息进行存储
        '''
        dictInfo={'编号':bookItem[0],'书名':bookItem[1],'位置':bookItem[2]}
        books.append(dictInfo)#将字典对象加入到list容器中
        pass

    for item in books:
        print(item)

printBookInfo()

7.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中

listObj=['a','b','c']
# for index,item in enumerate(listObj):
#     print(index,item)
#
# for index,item in enumerate(listObj,5): #表示下表从5开始
#     print(index,item)

dictObj={'name':'李易峰','hobby':'唱歌','pro':'艺术设计'}
#print(dictObj)
for item in enumerate(dictObj): #对字典进行操作
    print(item)

Set集合

set 不支持索引和切片,是一个无序的且不重复的容器 ,类似于字典 但是只有key 没有value

1.创建集合

set1={1,2,3}
set2={2,3,4}
print(type(set1))

2.添加add

set1.add('python')
print(set1)

3.清空clear

set1.clear()
print(set1)

4.差集difference

rs=set1.difference(set2)
print(rs) #1
print(set1-set2)

5.交集--intersection

print(set1.intersection(set2))
print(set1&set2)

6.并集--union

print(set1.union(set2))
print(set1|set2)

7.移除pop就是从集合中拿数据并且删除

print(set1)
set1.pop()
print(set1)

8.移除制定数据--discard

print(set1.discard(3))
print(set1)

9.更新-update 俩个集合

set1.update(set2) #在原来的基础上更新 
print(set1)

作业练习

1.求三组连续自然数的和:求出1到10、20到30和35到45的三个和

def sumRange(m,n):
    '''
    求m到n的连续自然数的总和
    :param m:开始值
    :return:结束值
    '''
    return sum(range(m,n+1))

print(sumRange(1,10))
print(sumRange(20,30))
print(sumRange(35,45))

2.100个和尚吃100个馒头,大和尚一人吃3个馒头,小和尚三人吃1个馒头。请问大小和尚各多少人?

def PersonCount():
    '''
    计算各有多少人
    假设大和尚a
    小和尚100-a
    :return:
    '''
    for a in range(1,100):
        if a*3+(100-a)*(1/3)==100:
            return (a,100-a)
        pass
    pass

rs=PersonCount()
print('大和尚{}人,小和尚{}人'.format(rs[0],rs[1]))

3.指定一个列表,列表里含有唯一一个只出现过一次的数字。写程序找出这个“独一无二”的数字

set1=set(li)
#print(set1)
for i in set1:
    li.remove(i)
    pass
set2=set(li)#set2中为原来li中有重复的数字集合
for i in set1: #set1中数据全部去重形成的集合
    if i not in set2:
        print(i)
        pass
    pass

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值