1.1.如何在列表中根据条件筛选数据# 1.1.如何在列表中根据条件筛选数据

data = [-1, 2, 3, -4, 5]

#筛选出data列表中大于等于零的数据

#第一种方法,不推荐

res1 = []

for x in data:

if x >= 0:

res1.append(x)

print(res1)

#第二种用列表解析,推荐使用

res2 = [ x for x in data if x >= 0]

print(res2)

#第三种用filter函数

res3 = list(filter(lambda x : x>= 0,data))

print(res3)

1.2.如何在列表中根据条件筛选数据# 1.2.如何在列表中根据条件筛选数据

from random import randint

#创建学生字典,学号为1~20,分数为50~100随机

d = {'student%d'% i: randint(50,100) for i in range(1,21)}

print(d)

#过滤出分数为90的学生字典

#第一种方法

d1 = {k:v for k,v in d.items() if v >= 90}

print(d1)

#第二种方法

d2 = dict(filter(lambda item:item[1] >= 90, d.items()))

print(d2)

1.3.如何在集合中根据条件筛选数据# 1.3.如何在集合中根据条件筛选数据

from random import randint

s = {randint(0,20) for _ in range(20)}

print(s)

#筛选出能被3整除的数

s1 = {x for x in s if x % 3 == 0}

print(s1)

1.4.如何为元祖中的每个元素命名,提高程序可读性

如下元祖,通过函数判断年龄和性别,但是这样代码可读性很差,别人并不知道student[1],student[2]代表什么意思。如何解决呢def func(student):

if student[1] < 18 :

pass

if student[2] == 'male':

pass

student = ('derek',22,'male','111@qq.com')

func(student)

方案一:定义枚举类型#1.4..如何为元祖中的每个元素命名,提高程序可读性

def func(student):

if student[1] < 18 :

pass

if student[2] == 'male':

pass

s1 = ('derek',22,'male','111@qq.com')

#第一种:使用枚举

from enum import IntEnum

class StudentEnum(IntEnum):

NAME = 0

AGE = 1

SEX = 2

EMAIL = 3

print(s1[StudentEnum.NAME])

print(s1[StudentEnum.AGE])

方案二:使用标准库中collections.namedtuple替代内置tuple#1.4..如何为元祖中的每个元素命名,提高程序可读性

def func(student):

if student[1] < 18 :

pass

if student[2] == 'male':

pass

s1 = ('derek',22,'male','111@qq.com')

#第一种:使用枚举

from enum import IntEnum

class StudentEnum(IntEnum):

NAME = 0

AGE = 1

SEX = 2

EMAIL = 3

print(s1[StudentEnum.NAME])

print(s1[StudentEnum.AGE])

#第二种:使用标准库中collections.namedtuple替代内置tuple

from collections import namedtuple

Student = namedtuple('student',['name','age','sex','email'])

s2 = Student('derek',22,'male','222@qq.com')

print(s2[0]) #derek

# 可以通过s2.name获取姓名

print(s2.name) #derek

python3实用编程技巧_6.python3实用编程技巧进阶(一)相关推荐

  1. 华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能

    /**************************************************************************** 输入联想 问题描述: 输入联想功能是非常实用 ...

  2. c语言联想输入法算法,华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能...

    /**************************************************************************** 输入联想 问题描述: 输入联想功能是非常实用 ...

  3. 10个实用的但偏执的Java编程技术-扣丁学堂

    10个实用的但偏执的Java编程技术 在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常.因为,你知道的-- 任何事情有可能出错,没错,的确如此. 这 ...

  4. python编程软件下载-Python3.9下载

    Python3.9版是一款非常专业的电脑编程软件.相信有不少用户已经体验过之前的版本了,那么现在最新的版本3.9.0版本,已经在本年度向广大用户推出,更强大的功能,细节上的优化,适用于独立的.大型项目 ...

  5. 华章新春献礼:买基础编程图书,赠送实用月历

     华章新春献礼 买基础编程图书,赠送实用月历 还有免费培训等您参与! 活动请访问: 点击此处进入互动网活动 点击此处进入卓越网活动 ================================== ...

  6. 值得一看的G32加工端面螺纹编程方法,很实用!

    值得一看的G32加工端面螺纹编程方法,很实用! ① G32加工端面螺纹介绍: 概述:端面螺纹大多以矩形螺纹为主,车床的自定心卡盘(盘丝)使用的就是这种结构.这类螺纹没有具体的代号标注,一般是文字注释. ...

  7. Excel电子表格的使用技巧!很实用

    电子表格的使用技巧!很实用啊! Excel高级使用技巧 1.编辑技巧 (1) 分数的输入 如果直接输入"1/5",系统会将其变为"1月5日",解决办法是:先输入 ...

  8. Word画线条5大技巧,简单实用!

    [Word画线条5大技巧,简单实用!]1.输入三个"=",回车,就是一条双直线:2.输入三个"~",回车,就是一条波浪线:3.输入三个""回 ...

  9. APP技巧:微信10个实用小技巧,太实用了,赶紧收藏!

    大家天天都在用微信,但是真正完全玩转微信的人也许并不多,今天小编给大家分享10个实用的小技巧,非常实用,赶紧分享给自己的朋友们吧! 一.对方正在输入 这个提示仅在收到消息后的10秒钟内,在对话框输入文 ...

最新文章

  1. 防止对 Visual Basic .NET 或 C# 代码进行反相工程
  2. python编程语法-Python编程入门——基础语法详解(经典)
  3. Java与邮件系统交互之使用Socket验证邮箱是否存在
  4. VM pow 函数 :undefined reference to `pow'
  5. 微信小程序黑客马拉松即将开始,来做最酷的 Mini Program Creators!
  6. distinct过滤掉重复记录并且显示所有字段_MySQL的所有姿势,我都帮你准备好了...
  7. 如何用普通人能理解的语言解释量子纠缠?
  8. C及C++中的一些基础知识点(持续更新)
  9. 用Python在图片上添加注释信息
  10. 方大东莞新材:实习总结报告PPT讲稿
  11. C++中的LPVOID类型
  12. 万网域名查询是否注册接口
  13. OrCAD多页原理图器件按页编号的设置
  14. Mstar 648 平台遥控器/按键包POWER键配置
  15. 小米手机显示崩溃日志
  16. 【目前点赞排名】投票倒计时五天:继续为你喜欢的征文作品投票吧!
  17. 你会的还只有初级安卓工程师的技术吗?论程序员成长的正确姿势
  18. [Warning] IPv4 forwarding is disabled. Networking will not work.
  19. 第三次作业——个人作业——软件产品案例分析
  20. 召集众位挑战者-2021百威校园挑战赛4月火热开启!

热门文章

  1. vue全局安装jquery,vue使用bootstrap框架,vue中封装websocket通讯,vue引入element-ui 组件库,引入highcharts图表插件
  2. windows和linux系统下测试端口连通性的命令
  3. mysql union 与 union all 语法及用法
  4. 【Java 8 新特性】Java Stream.of()用法示例
  5. java获取当月有几天_腾讯程序员裸辞3个月,转行去送外卖,曝出当月收入网友:又骗我去送外卖...
  6. php检测表大小,查询mysql数据库、表的大小
  7. java string字符操作_Java对String类型字符串的各种操作姿势
  8. linux sql 语句菜鸟,Linux安装mysql
  9. JVM 运行时数据区域总结
  10. SpringBoot入门教程