专栏首页杂七杂八列表、字典、集合中筛选数据

列表、字典、集合中筛选数据

传统迭代法

data = [1,5,-3,-2,8,0,9]
res = []
for x in data:
    if x >=0:
        res.append(x)

print(res)

python中更好的解决方案

  • 列表
    • filter函数filter(lambda x:x>=0,data)

    from random import randint data = [randint(-10,10) for x in range(10)] a = filter(lambda x:x>=0,data) print(data) #在python3中需要list(a)这一步,python2不需要这步 # 原因是在python3中,map函数仅仅是创建一个待运行的命令容器 # 只有其他函数调用它的时候才返回结果 print(list(a))

    • 列表解析[x for x in data if x>=0],推荐使用列表解析

    data = [1,5,-3,-2,8,0,9] a = [x for x in data if x>=0] print(list(a))

  • 字典(字典解析){k:v for k,v in d.items() if v>90},python2用d.iteritems()
from random import randint

d = {x : randint(60,100) for x in range(1,21)}
print(d)
dict = {k:v for k,v in d.items() if v>90}
print(dict)
  • 集合(集合解析){x for x in s if x%3==0}
from random import randint

data = [randint(-10,10) for x in range(10)]
print(data)
s = {x for x in data if x % 3 ==0}
print(s)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Pandas数据分析包

    Pandas是面板数据(Panel Data)的简写。它是Python最强大的数据分析和探索工具,因金融数据分析工具而开发,支持类似SQL的数据增删改查,支持...

    听城
  • numpy科学计算包的使用2

    利用数组进行数据处理 NumPy数组使你可以将许多种数据处理任务表述为简洁的数组表达式(否则需要编写循环)。用数组表达式代替循环的做法,通常被称为矢量化。 矢...

    听城
  • matlab自助法实现

    方法:以bootstrap sampling为基础,给定包含m个样本的数据集,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后...

    听城
  • python练习

    myset = set(mylist)  #myset是另外一个列表,里面的内容是mylist里面的无重复 项

    py3study
  • 《python核心教程2》第九章 练习

    9–1. 文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做Python , Perl, Tcl, 等大多脚本文件的注释符号.附...

    py3study
  • python核心编程2 第九章 练习

    9–1. 文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做Python , Perl, Tcl, 等大多脚本文件的注释符号.附...

    py3study
  • Python条件语句与循环

    1、判断与循环 python 缩进 main: print("Hello") print("Hello world.")

    py3study
  • python实用技巧:在列表,字典,集合中快速筛选数据

    章鱼喵
  • Python 新手入门习题及代码

    py3study
  • Python基础练级攻略:day01

    百分制成绩转等级制成绩 90分以上--> A,80分~89分--> B,70分~79分--> C,60分~69分 --> D,60分以下--> E

    py3study

扫码关注云+社区

领取腾讯云代金券