ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

6内置函数

2021-02-09 16:32:00  阅读:203  来源: 互联网

标签:内置 函数 li set1 set2 print dic ve


内置函数

内置函数

python内置函数详细见链接.

数学运算

abs()取绝对值

print(abs(-348))

round()

对浮点数进行近似取值,保留几位小数
语法: round(x[n]) ;取值规则与python版本有关

 print(round(2.9))
 print(round(2.54,1))#数字1表示保留几位小数

pow()

print(pow(2,2))
print(pow(2,3,5))#表示打印2的3次方除以5的余数

divmod()

print(divmod(89,9))#打印89除以9的(商,余数)

max()

max()
print(max([515,1515,25,55,1215,2121,1215,14511,]))
print(max(1215,1515))

min()

用法与max()的用法一样

sum()

语法:sum(iterable[,start]) iterable为可迭代对象,如:列表、元组、集合
start指定相加的参数,如果没有设置这个值,默认为0

print(sum(range(5),3))#表示0+1+2+3+4+3
print(sum(range(5)))#表示0+1+2+3+4

eval()

用来执行一个字符串表达式,并返回表达式的值
eval(expression[,globals[,locals]])
expression 表达式 globals变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
locals 变量作用域,局部命名空间,如果被提供,可以是任何映射对象

a,b,c=1,2,3
print("ndkbdk={}".format(eval("a+b+c")))
def mm():
    print("berjbg")
    pass
eval("mm()")

类型转换

int( );float( );str( );ord( );chr( );bool( );bin( );hex( );oct( );list( );tuple( );dict( );bytes( );

chr( )数字转字符

print(chr(78))

ord 返回ASCII 数值

print(ord('a'))

bool( )转为布尔型

print(bool(0))
print(bool([]))
print(bool('bj'))

bin( ),hex( ),oct( )

print(bin(8))#转为二进制
print(hex(45))#转为十六进制
print(oct(17))#转为八进制

list( ),tuple( ),dic( )

元组转化为列表,记住是元组

tup=(1,2,3,5)
print(type(tup))
li=list(tup)
print(type(li))
print(li)
m=tuple(li)
print(type(m))
print(m)


dic=dict()
dic['name']='小明'
dic['age']=35
print(dic) 

bytes( )转为字节数组

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

序列操作函数

all();any();sorted();reversed();range();zip();enumerate();

all()

判断给定的可迭代参数中的所有元素是否都为true,返回true或false(除0、空、False都是true)
注意空元组,空列表返回值也为true

li=[1,2,3]
print(all(li))
li=[1,2,3,0]
print(all(li))
li=[]
print(all(li))
tup=()
print(all(tup))

any();

判断给定的可迭代参数中的所有元素有一个为true,返回true(除0、空、False都是true)

li=[1,2,3]
print(any(li))
li=[1,2,3,0]
print(any(li))

sorted()排序

sort 与sorted 的区别:
sort是只可应用在list上的方法;sorted可对所有的可迭代对象进行排序
sort返回的是对已经存在的列表进行操作,sorted返回的是一个新的list
语法:sorted(iterable[,cmp[,key[,revers]]])
iterable 可迭代对象
cmp比较的函数,具有两个参数,参数的值都是从可迭代对象中取出,大于返回1,小于返回-1,等于返回0。
key 用来进行比较的元素,只有一个参数,具体的函数的参数取自可迭代对象,指定可迭代对象中的一个元素来进行排序
reverse 排序规则 reverse=True 降序 reverse=False 升序

#列表
li=[1,6,9,3,21]
li.sort()#直接修改的原始对象
print(li)
m=sorted(li)#升序排列
m=sorted(li,reverse=True)#降序排列
print(m)#由于sorted返回的是一个新的列表,所以不可以直接print(li)或
# print(sorted(li,reverse=True))
#元组
tup=(1,6,9,3,21)
b=sorted(tup,reverse=True)
print(tup)
print(b)#或
# print(sorted(tup,reverse=True))

reverse,reversed()

reverse只可用在列表中,不管大小,reversed同样可以用在字符串,元组,列表但其用法还要在研究下??????

a=[1,9,2,45,31,5]
print(a)
a.reverse()
print(a)

range()

。。。。。。。。。。

zip()

将可迭代的对象作为参数,将对象中对应的元素打包成元组,然后返回这些元组组成列表,如果元素个数不一致则返回的列表长度与最短的对象相同,利用 * 操作,将这些元组解压为列表

s1=['1','2','3']
s2=['你','给','很快']
s3=['gk','bm','vjr','vjr','jo']
b=zip(s1,s2)
c=zip(s2,s3)
print(list(b))
print(list(c))


def printbookInfo():
    '''
    zip函数的使用
    :return:
    '''
    book=[]#存储所有的图书信息
    id = input("输入图书编号(以空格分开):")
    bookName = input("输入图书名(以空格分开):")
    bookPos = input("输入图书位置(以空格分开):")
    idList = id.split(" ")
    bookNameList = bookName.split(" ")
    bookPosList = bookPos.split(" ")
    bookInfo=zip(idList,bookNameList,bookPosList)#进行打包处理
    for bookTtem in bookInfo:
        '''
        遍历图书信息
        '''
        dicInfo={'编号':bookTtem[0],'书名':bookTtem[1],'位置':bookTtem[2]}
        book.append(dicInfo)
        pass
    for Item in book:
        print(Item)
printbookInfo()

enumerate()

用于将一个可遍历的的数据对象(eg:列表,元组或字符)组合为一个索引序列,同时列出数据和数据小标,一般用在for
循环中

#对列表
list1=['s','d','r']
for item in enumerate(list1):
    print(item)
print()
for index, item in enumerate(list1):
    print(item)
print()
for index, item in enumerate(list1,3):
    print(index, item)

#对字典
dic={}
dic[" bj"]="rrth"
dic["gfd"]="fg"
dic[" hr"]="er"
dic[" fe"]="5y"
print(dic)
for item in enumerate(dic):
    print(item)
print()
for item in enumerate(dic):
    print(item[1])
print()
for index,item in enumerate(dic):
    print(item)

set集合

是一个无序且不重复的元素集合,声明方式类似于字典,但只有键,集合操作函数
add,clear,difference,intersection,union,pop,discard,update

定义

set1={2,"ve"}
print(type(set1))
print(set1)

add()添加

set1={2,"ve"}
set1.add('vdj')
print(set1)

clear()清空

set1={2,"ve"}
set1.clear()
print(set1)

difference(),-差集

set1={2,"ve"}
set2={4,"ve"}
b=set1.difference(set2)
print(b)
print(set1-set2)

intersection(),&交集

set1={2,"ve"}
set2={4,"ve"}
print(set1.intersection(set2))
print(set2&set1)

union, | 并集

set1={2,"ve"}
set2={4,"ve"}
print(set1.union(set2))
print(set2 | set1)

pop移除

对于直接定义为set型的,pop移出的的元素并不指定,随机移除。但是对于有列表或元组强制性转换为set型的移除的是左边的第一个元素,但由于列表或元组强制性转换为set型会自动去重复且按从小到大排序,所以pop移除的一般又同时是最小的。

set0={2,"ve"}
print(set0.pop())
print(set0)
print('------------------------------------------')
set1 = set([9, 4, 5, 2, 6, 7, 1, 8,9,6,5])
print(set1)
print(set1.pop())
print(set1)
print('------------------------------------------')
set2 = set((6, 3, 1, 7, 2, 9, 8, 0,0,6,7))
print(set2)
print(set2.pop())
print(set2)

discard移除指定的元素

set1={2,"ve"}
set2={4,"ve"}
print(set1.discard(2))
print(set1)

update更新

与并集操作类似

set1={2,"ve"}
set2={4,"ve"}
set1.update(set2)
print(set1)

练习题

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

def sumf(a,b):
    return sum(range(a,b+1))#不可写成sum(a,b+1),sum中的数必须为int型
pass
print(sumf(1,10))
print(sumf(20,30))
print(sumf(35,45))

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

def numberr():
    for a in range(34):
        if 3*a+(100-a)/3==100:
            return a, 100 - a
            pass
        pass
    pass
b=numberr()
print('大和尚{} 小和尚{}'.format(b[0],b[1]))

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

c=[3,2,5,7,5,1,4,3,5,1,4,1,3]
set1=set(c)#为数据全部去重后的集合
print(set1)
for i in set1:
    c.remove(i)
    pass
set2=set(c)#c中有重复的集合
print(set2)
for i in set1:
    if i not in set2:
        print(i)
        pass
    pass
pass

标签:内置,函数,li,set1,set2,print,dic,ve
来源: https://blog.csdn.net/qq_45693271/article/details/113656816

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有