Python目录、字典等挑选数据信息的方法

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)

之上的数据信息挑选方法,全是应用的转化成式的方法,相对性较为简约高效率。