/* */

python04——内嵌函数

1.内置函数简介

内嵌函数——系统自带的函数 

https://docs.python.org/3/library/functions.html

2.数据运算函数

abs(-10)————求绝对值   

round(2.567,2)————四舍五入求近似值的###保留2位小数

pow(3,4)————求幂  ##3的4次方

divmod(7,3)————求余和商###输出(2,1)商2余1

max(x,y,z)     max([x,y,z])————求最大值

min()————求最小值              

sum([1,2,3])  sum((1,2),3)  sum([1,2,3],4)————求和      

eval()————执行一个字符串表达式,并返回表达式的值

a,b,c=1,2,3
eval('a+b')
####或者
eval('a+b+c',{'c':3,'a':1,'b':2})

3.类型转换函数

int()    字符串或数字转换为整型

float()   将整数和字符串转换成浮点数

str()    转为字符串

ord()      返回对应字符的ascii码

chr()    数字转字符    

bool()    转为布尔型

bin()    转为2进制

hex()      转为16进制

oct()    转为8进制

list()    元组转列表

tuple()   将列表转换为元组

dict()    创建一个字典

bytes()   转为字节数组

4.序列操作函数

all()     判断给定元组或列表中所有元素是否全部TRUE,含0、空、FALSE就会返回FALSE(空元组、空列表返回值为True)

any()    判断给定元组或列表中所有元素是否全部FALSE,全部为0、空、FALSE才返回FALSE,否则返回true

sorted()    排序操作,sort()是应用在list上的方法(对已有列表进行排序),sorted()可以对一切可迭代对象(输出排序后的新列表)

        默认升序,如果想要降序:sorted([1,2,3],reverse=True)

li=[1,2,3,6,7,4,]
li.sort()
print(li)    ###li会被更改

newlist=sorted(li,reverse=True)
print(li)  ###li不会被更改
print(newlist)

reverse()

range(start,end,步长)    创建一个整数的列表,一般用于for循环中    

zip()    将所有参数打包成一个元组,返回元组组成的列表;如果参数元素个数不一致,返回列表长度与最短的相同,用*可将元组解压为列表

t=zip([1,2,3],['a','b','c','d'])
print(list(t))

enumerate()    将列表、元素、字符串组合为一个索引序列,同时列出数据和数据下标,一般用在for循环

seasons=['','','','']
print(list(enumerate(seasons)))

list(enumerate(seasons,5)) ####开始的下标为5
seasons=['','','','']
for index,item in enumerate(seasons,5):  ##把下标存储在index中,
    print(index,item)
###对字典
dic={}
dic['name']='yh'
dic['hob']='run'
dic['pro']='teach'
for i,j in enumerate(dic):
    print(j)

 

5.set集合

set——无序且不重复的元素结合,不支持索引和切片

set的创建方式:

set1={1,2}
###另一种
list1=[1,1,2,3]
set1=set(list1)   ###可以把列表去重  

集合操作函数:

add()——添加

set1.add('love')

clear()——清空

set1.clear()

difference()——取差集,set1中存在,set2中不存在的

set1={1,2,3}
set2={2,3,4}
set1.difference(set2)

intersection()——取交集

set1.intersection(set2)
set1&set2也可以

union()——取并集

set1.union(set2)
set1|set2也可以

pop()——从集合中拿数据,同时删除

set1.pop()   ##随机拿走一个

discard()——移除指定数据

set1.discard(3)

update()——合并在一起,重复项合并

set1.updata(set2)

 

巩固:

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

def sum1(a,b):
    re=0
    for i in range(a,b+1):
        re+=i           
    return re

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

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

def person():
    for a in range(1,100):
        if 3*a+(100-a)/3==100:
           # print('大和尚:',a)
            #print('小和尚:',100-a)
            return (a,100-a)

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

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

li=[1,2,3,4,5,6,1,2,3,4,5,7,8,9,0,10,0,5,6,5,7,6,8,7,9,9,7,5,6]
set1=set(li)
for i in set1:
    li.remove(i)
    pass
set2=set(li)
for i in set1:
    if i not in set2:
        print(i)

 

posted @ 2020-12-04 17:47  柚柚汁呀  阅读(222)  评论(0编辑  收藏  举报
/*
*/