知识点:可迭代对象(iterable):能够适用for进行遍历的数据都是可迭代对象(字符串、列表、字典、元组、集合)。
一、数据统计的内函数:
1、获取最小值函数:min
#列表示例:
li = [11,22,4,6,77,88,34,56,23,2,9,43]
res = min(li)
print(res)
2、获取最大值函数:max
#列表示例:
li = [11,22,4,6,77,88,34,56,23,2,9,43]
res = max(li)
print(res)
3、求和函数:sum
#列表示例:
li = [11,22,4,6,77,88,34,56,23,2,9,43]
res = sum(li)
print(res)
二、常用的高使用频率的内置函数:
1、eval():识别字符串中有效的python表达式
#示例:
var = '[19,22.5,"python"]'
list = eval(var)
print(list,"数据类型为:",type(list))
2、enumerate:获取列表中的数据以及索引
#示例:(for循环写法)
li = ["python","java","C++"]
for i in li:
print(li.index(i),i)
#示例:(内置函数(enumerate)写法)
li = ["python","java","C++"]
for i in enumerate(li):
print(i)
#示例:(内置函数(enumerate)+函数拆包写法)
li = ["python","java","C++"]
for i,v in enumerate(li):
print(i,v)
3、zip:数据的聚合打包
实际需求:把如两个列表的数据组装成一个字典,list1的元素作为键,list2的元素作为值。
list1 = ["name","age","gender"]
list2 = ["测试名称",20, "未知"]
结果数据:
{"name" : "测试名称","age" : 20,"gender" : "未知"}
#示例:
list1 = ["name","age","gender"]
list2 = ["测试名称",20, "未知"]
res = zip(list1,list2)
print(dict(res))
知识点:zip聚合打包时,要是聚合多个多个数据时,它会把每一个数据的下标索引相同的元素作为一个一组数据进行归集。
#示例:(所有聚合的数据元素长度一致)
list1 = [1,2,3]
list2 = [11,22,33]
list3 = [111,222,333]
list4 = [1111,2222,3333]
res = zip(list1,list2,list3,list4)
print(list(res))
#示例:(所有聚合的数据元素长度不一致时,已最短的元素个数的数据聚合)
list1 = [1,2]
list2 = [11,22,33,44]
list3 = [111,222,333]
list4 = [1111,2222,3333]
res = zip(list1,list2,list3,list4)
print(list(res))
注意点:zip聚合之后的数据只能使用一次。
#示例:
list1 = ["name","age","gender"]
list2 = ["测试名称",20, "未知"]
res = zip(list1,list2)
print(dict(res))
print(list(res))
#示例:(如果想把返回的数据多次使用,就定义一个变量保存)
list1 = ["name","age","gender"]
list2 = ["测试名称",20, "未知"]
res = zip(list1,list2)
var = list(res)
print(dict(var))
print(list(var))
4、filter:过滤器函数
filter的作用:批量的过滤数据
参数一:过滤的规则(函数)
参数二:需要过滤的数据。
需求:把一下列表中的大于等于80的数据过滤处理并保存到列表中。
#示例:(for循环写法)
li = [455,66,77,88,35,65,76,87,88,89,90,100,99,98,81,80]
new_li = []
for i in li:
if i >=80:
new_li.append(i)
print(new_li)
#示例:(filter过滤器+正常函数写法)
li = [455,66,77,88,35,65,76,87,88,89,90,100,99,98,81,80]
def funl(x):
return x >=80
res = filter(funl,li)
print(list(res))
#示例:(filter过滤器+匿名函数写法)
li = [455,66,77,88,35,65,76,87,88,89,90,100,99,98,81,80]
res = filter(lambda x : x >= 80,li)
print(list(res))
5、列表排序扩展应用:(只能对有规则的数据进行排序)
#示例:(正常列表排序)
li = [45,54,3,7,8,98,76,456,23,43,67,5,87,8]
li.sort()
print(li)
#示例:(列表嵌套元组的列表排序)---默认是按嵌套数据的第一个元素排序。
li = [(12,33,9),(8,66,12),(3,22,1),(6,55,7)]
li.sort()
print(li)
需求:已如下列表的嵌套的数据第二个元素进行排序。
li = [(12,33,9),(8,66,12),(3,22,1),(6,55,7)]
列表排序函数:sort的参数:key的排序规则的使用场景实例。
#示例:(普通函数写法)
li = [(12,33,9),(8,66,12),(3,22,1),(6,55,7)]
def funl(x):
return x[1]
li.sort(key = funl)
print(li)
#示例:(匿名函数写法)
li = [(12,33,9),(8,66,12),(3,22,1),(6,55,7)]
li.sort(key = lambda x : x[2])
print(li)