# def fun():
# import range
import random
from collections import namedtuple
#####列表筛选##################################
def sort(): ##使用现成函数
data =[2,3,-9,8,10]
list_sort=list(filter(lambda x : x >0,data)) ##这里需要转化为列表
# print(type(list_sort))print(list_sort)
def sort_for(): ##列表解析
data =[2,3,-9,8,10]
sort_data=[x for x in data if x>0]print(sort_data)
#####列表筛选##################################
#####字典筛选##################################
def sort_dic(): ##这是字典解析
# data={x:y for x inrange(1,20)for y inrange(1,7)}
data={x:random.randint(60,100)for x inrange(1,21)} ##这是一个字典
print(data)
sort_data={k:v for k,v in data.items()if v>90}print(sort_data)
# sort_data=filter()
#####字典筛选##################################
#####集合筛选##################################
def sort_set():
data=[2,2,-3,-5,9,6]
s=set(data)print(s)
sort_data={x for x in s if x%3==0}print(sort_data)
#####集合筛选##################################
#####元组元素命名##################################
def yuanzu():
Name,age,sex,mail=range(4)
student=('hah',16,'female','two')print(student[Name])
def yuanzu_fun():
student=('hah',16,'female','two')
Student=namedtuple('Student',['name','age','sex','email']) ###这个相当于构造器,
s1=Student('JIM',16,'male','8723@qq.com')
s2=Student(name='xiao',age=19,sex='man',email='8273')print(s2)print(s2.name)print(s2.age)print("查看是否是元组"+str(isinstance(s2,tuple)))
#####元组元素命名##################################
yuanzu_fun()
# sort_dic()
# sort_set()
# yuanzu()
###变量交换
# xxx=33
# yyy=44
# xxx,yyy=yyy,xxx
#
# print(xxx)
# print(yyy)
###以上函数证明,还是filter查数据更快
# sort_for()