一、内置函数/内嵌函数:系统预先定义的函数;

  1、常用数学运算函数:绝对值abs、近似值round、幂运算pow、求商和余数divmod、最大值max、最小值min、和sum、动态运算eval

  2、类型转换函数:转为整型int、浮点型float、字符串str、字符转为对应的ascii数字ord、数字转对应的ascii字符chr、转化为布尔类型bool、十进制转为二进制bin、转为十六进制hex、转为八进制oct、转为列表list、转为元组tuple、转为字典dict、转为字节数组bytes;

  3、序列操作:

    ①all(),用于判断括号内对象是否都为True,除了0、空、False外都算True,类比and;

    ②any(),用于判断括号内对象是否有True,除了0、空、False外都算True,类比or;

    ③排序:sort只应用于list对象,直接操作已存在的列表,sorted可应用所有可迭代对象,返回一个新列表;

sorted(range(10)) #升序
sorted(range(10),reverse=True) #降序
sorted(['A','b','c','D','e'])  #字符串排序
sorted(['A','b','c','D','e'],key=str.lower)  #字符串无关大小写排序

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
['A', 'D', 'b', 'c', 'e']
['A', 'b', 'c', 'D', 'e']

    ④reverse(),反向列表中的元素;

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

    ⑥zip(),将对象中对应的元素对应打包成元组、返回这些元组组成的列表,如果前后两个对象元素个数不一致、则返回列表长度与最短的对象相同;

a = zip([1,2,3],['A','b','c','D','e'])
list(a)

[(1, 'A'), (2, 'b'), (3, 'c')]

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

a = 'LMY'
list(enumerate(a,2))   #2表示下标开始数字
[(2, 'L'), (3, 'M'), (4, 'Y')]

 

二、set集合

  1、一种数据类型,无序且不重复的元素集合,不支持索引和切片;

  2、常用操作:新增add、清空clear、取差集difference【-】、取交集intersection【&】、取并集union【|】、从集合中取出且删除数据pop、移除指定元素discard、批量添加update

set1 = {1,2,3}
set2 = {2,3,4}
print(set1.difference(set2))  #差集 -
{1}

print(set1.intersection(set2))  #交集 &
{2, 3}

print(set1.union(set2))  #并集 |
{1, 2, 3, 4}

set1.discard(3)  #指定移除
print(set1)
{1, 2}

set1.update(set2)  #批量新增
print(set1)
{1, 2, 3, 4}

 

三、练习

#求三组连续自然数的和:求出1到10、20到30、35到45的和
print(sum(list(range(1,11))))
print(sum(list(range(20,31))))
print(sum(list(range(35,46))))
55
275
440

#100个和尚吃100个馒头,大和尚一人3个,小和尚三人1个,请问大小各多少人
ilist = []
for a in range(1,101):
    if a*3+(100-a)/3==100:
        ilist.append(a)
for i in ilist:
    print('大和尚%d人,小和尚%d人'%(i,100-i))
大和尚25人,小和尚75人

#指定一个列表,列表里含有唯一一个只出现过一次的数字,写程序找楚这个独一无二的数字
la = list([1,1,1,2,2,3,4,4])
l = []
for i in la:
    if la.count(i)==1:
        l.append(i)
print(list(set(l)))  
[3]