Python的目录、字典或是结合中怎样开展数据信息挑选呢?最先想起确当然是非常简单的,应用循环系统句子开展挑选。下边的在目录、字典或是结合中开展数据信息挑选的方法来源于与慕课网的《Python升阶加强训炼》中的內容。下列是有关的学习培训手记。
案例一、过虑目录中的负数
关键的构思是应用目录转化成式的方法去开展目录的挑选。或是应用filter涵数,启用lambda涵数挑选。可是目录转化成式的高效率高些。下边是案例编码:
#!/usr/local/env python # coding:utf-8 from random import randint __author__ = 风轻情淡 # 转化成10个任意整数金额的目录 data = [randint(-10, 10) for _ in range(10)] # filter涵数转化成的是一个filter目标,必须再迭代更新赋值 ret1 = filter(lambda x: x 0, data) print(ret1) # 目录转化成式方法立即得到目录,速率比filter涵数方法要快一些 ret2 = [x for x in data if x 0] print(ret2)
案例二、挑选字典值高过90的新项目
字典挑选的构思跟目录挑选类似,应用字典转化成式。必须留意的是:Python 3.x 里边,iteritems() 和 viewitems() 这2个方式早已经废止了,而 items() 获得的結果是和 2.x 里边 viewitems() 一致的。在3.x 里 用 items()更换iteritems() ,能够用以 for 来循环系统解析xml。下边是案例编码:
#!/usr/local/env python # coding:utf-8 from random import randint __author__ = 风轻情淡 # 转化成20个考试成绩的字典 data = {x: randint(60, 100) for x in range(1, 21)} # 应用字典转化成式,能够立即挑选数据信息 ret1 = {k: v for k, v in data.items() if v 90} print(ret1)
案例三、挑选能被3整除的原素
结合的解决构思和目录解决的构思基原是一致的,案例编码以下:
#!/usr/local/env python # coding:utf-8 from random import randint __author__ = 风轻情淡 # 转化成10个任意整数金额的目录 data = [randint(-10, 10) for _ in range(10)] # 把目录转换为结合 s1 = set(data) # 结合转化成式方法立即得到結果 ret1 = {x for x in s1 if x % 3 == 0} print(ret1)
之上的数据信息挑选方法,全是应用的转化成式的方法,相对性较为简约高效率。