python基础之内置函数、序列操作、集合
一、内置函数/内嵌函数:系统预先定义的函数;
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]

浙公网安备 33010602011771号