python day6 内置函数

python day6 内置函数,第1张

python day6 内置函数

内置函数

数学运算类型转换序列 *** 作set集合小结练习

数学运算

abs()绝对值函数

print(abs(-0.12))

round()对浮点数近似取值,保留几位小数

print(round(2.645,2))  #保留两位小数

pow()求幂运算

print(pow(3,3)) #前面底数,后面次方

max()求最大值

print(max([23,145,4564,1,12345]))

sum()求和

print(sum([12,546,47842,12]))

eval()动态执行表达式

a,b,c = 1,2,3
print(eval('a+b+c'))
def TestFun():
    print('我执行了吗?')
    pass
eval('TestFun()')   #函数的调用
类型转换

十进制转换二进制

print(bin(10))

十进制转换十六进制

print(hex(100))

元组转换为列表

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

列表转换为元组

tupList = tuple(li)
print(type(tupList))

*** 作字典 dict()

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

转换字节数组

print(bytes('我喜欢python',encoding = 'utf-8'))
序列 *** 作

all()用于判定参数是否都为true是就返回true不是返回false
除了0,空,false以外都为true
空元组,空列表返回true

print(all([]))
print(all(()))
print(all([1, 2, 4, False]))
print(all([1, 2, 4]))
print(all([1, 2, 4, 0]))

any()类似于逻辑运算符,or只要有一个元素为True,结果就为True

print(any((3, 4, 0)))

sorted()对所有可迭代的对象进行排序 *** 作

li = [2, 45, 132, 41, 31, 15]
li.sort()   # list的排序方法,直接修改的原始对象
print('------------排序之前------------{}'.format(li))   # 默认升序排列
varList = sorted(li)
print('------------排序之后------------{}'.format(varList))
varList1 = sorted(li, reverse=True)   # 降序排列
print('------------排序之后------------{}'.format(varList1))
tupArray = (1, 54, 456, 12, 456)
varRs = sorted(tupArray, reverse=False)   # true为降序,false为升序
print(varRs)

range()创建一个整数列表,一般用于for循环中

zip()用来打包

s1 = ['a', 'b', 'c']
s2 = ['你', '我', '他']
s3 = ['是', '儿', '爹', '哈哈', '111']
zipList = zip(s1, s2)
zipList1 = zip(s2, s3)
print(list(zipList))    # 打包
print(list(zipList1))   #多余的不在打包
def printBookInfo():
    books = []   #存储所有图书信息
    id = input ('请输入编号:每个项以空格分割')   #str
    bookName = input('请输入书名:每个项以空格分割')  #str
    bookPos = input('请输入位置:每个项以空格分割')   #str
    idList = id.split(' ')
    nameList = id.split(' ')
    posList = id.split(' ')

    bookInfo = zip(idList, nameList, posList)   #进行打包处理
    for bookItem in bookInfo:
        '''
        遍历图书信息进行存储
        '''
        dictInfo = {'编号':bookItem[0], '书名':bookItem[1], '位置':bookItem[2]}
        books.append(dictInfo)  #将字典对象添加到list容器中
        pass
    for item in books:
        print(item)

printBookInfo()

enumerate()用于可遍历数据对象,组成一个索引序列,同时列出数据和下标

listObj = ['a', 'b', 'c']
for item in enumerate(listObj):
    print(item)
    print(type(item))
    pass

dictObj = {}
dictObj['name'] = '小明'
dictObj['hobby'] = '唱歌'
dictObj['age'] = '17'
print(dictObj)
for item in enumerate(dictObj):
    print(item)
set集合

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

创建集合

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

添加 *** 作

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.add('python')
print(set1)

清空 *** 作

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

取差集 *** 作

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

取交集 *** 作

set1 = {1, 2, 3}
set2 = {2, 3, 4}
rs4 = set1.intersection(set2)
print(rs4)

并集 *** 作

set1 = {1, 2, 3}
set2 = {2, 3, 4}
rs5 = set1.union(set2)
print(rs5)

提取数据 *** 作

set1 = {1, 2, 3}
set2 = {2, 3, 4}
rs6 = set1.pop()
print(set1)
print(rs6)

移除指定数据

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

更新 *** 作

set1 = {1, 2, 3}
set2 = {2, 3, 4}
rs7 = set1.update(set2)
print(set1)
小结

数学运算

abs() round() pow() divmod() max() min() sum() eval()

类型转换

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

序列 *** 作

all() any() sorted() reverse() range() zip() enumerate()

集合

add() clear() difference() intersection() union() pop() descard() update()
练习

求三组连续自然数的和:1—10 20—30 35—45的和

def sumRange(m,n):
    '''
    求m到n(包含n)连续自然数的总和
    :param m: 开始值 int
    :param n: 结束值 int
    :return:
    '''
    return sum(range(m,n+1))
    pass
print(sumRange(1, 10))
print(sumRange(20, 30))
print(sumRange(35, 45))

100个和尚吃100个馒头,大和尚一人吃3个,小和尚三人吃一个馒头,大小和尚各多少人?

def PersonCount():
    '''
    计算各有多少人
    假设大和尚a
    小和尚100-a人
    :return:
    '''
    for a in range(1,100):
        if a*3+(100-a)*(1/3)==100:    # 100个和尚吃100个馒头
            return(a,100-a)
        pass
rsObj = PersonCount()
print('大和尚{}人 小和尚{}人'.format(rsObj[0],rsObj[1]))

指定一个列表,列表中有唯一一个只出现过一次的数字,找到这个数字

li = [1, 3, 4, 3, 4, 5, 4, 8, 56, 455, 1, 5, 56, 455]
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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5700758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存