python3实用编程技巧_6.python3实用编程技巧进阶(一)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中小数类型_java中小数属于什么类型的数据

展开全部小数属于浮点型(默认为double)。浮点型代表的是实数&#xff0c;其实就是包含小数的部分。也知道现实世界中是由32313133353236313431303231363533e59b9ee7ad9431333337396362很多复杂的数据的&#xff0c;所以需要这种表示实数的数据类型的支持。一、浮点型常量Java的…

springboot test_精益求精!Spring Boot 知识点全面回顾,带你重新细读源码!

作者&#xff1a;cyd_0619原文&#xff1a;https://blog.csdn.net/cyd_0619约定优于配置Build Anything with Spring Boot&#xff1a;Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as …

事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...

本篇文章是系列文章中的第五篇&#xff0c;是对前一个日志系列的补充篇。如果您对日志的基本概念还没有一个比较系统的了解&#xff0c;可以参看本系列之前的文章&#xff1a; 浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 浅谈SQL Server中的事务日志(二)----…

select count(*) from返回的类型_数据分析面试题类型汇总

1 简单查询- 基本的查询语句&#xff1a;select <列名> from 表名 where 条件- where 后的条件需要标量&#xff0c;不可以使用集合&#xff0c;若与关联子查询连用可用&#xff1b;可使用逻辑运算符连接多个条件&#xff1a;between、and、or、in&#xff08;&#xff0…

configurationproperties_【Springboot】注解@ConfigurationProperties让配置整齐而简单

1 简介前面我们用一篇文章《【Spring】只想用一篇文章记录Value的使用&#xff0c;不想再找其它了(附思维导图)》详细讲解了在Spring中如何使用Value来实现我们对配置的需求&#xff0c;它功能强大、使用方便。但它也是有它的局限性的&#xff0c;比如对于邮件服务&#xff0c;…

dmo Java_java DMO及增删改查代码的自动生成

在web开发过程中&#xff0c;尤其是后台管理系统的开发中&#xff0c;少不了增删改成的基础操作&#xff0c;原来我自己的做法是一份一份的拷贝粘贴&#xff0c;然后修改其中的不同&#xff0c;然而这样既枯燥无味又浪费了大量的时间&#xff0c;所以根据自己项目结构的特点写了…

if __name__ == __main___一文带你弄懂python中if __name__ == #39;__main__#39;

我们在python模块那章节的学习&#xff0c;有所接触到if __name__ __main__这个概念。当时我们只是大概描述了一番&#xff0c;不少伙伴还是有所困惑&#xff0c;今天就让我们通过实际例子去讲解这条语句到底有何含义。一个python文件有两种用途&#xff0c;一种被当主程序、脚…

java 生成apk包_Eclipse导出安卓apk文件的图文教程

安装到Android手机上的apk需要签名&#xff0c;本文描述了如何创建自己的签名及从Eclipse中导出apk。方法/步骤1、在Eclipse中选择一个Android工程&#xff0c;然后点击鼠标右键菜单中的“Export”&#xff1a;2、选择“Android”->;“Export Android Application”&#xf…

营业执照在线生成_平罗县实现个体户营业执照“秒批”

近日平罗县市场监管局注册登记窗口推出个体工商户“秒批”系统。今后&#xff0c;75%个体户常见经营项目可实现5分钟内乃至数秒无人工干预智能审批。01 一是实现智能化审批。平罗县市场监管局登记注册窗口依托自治区系统升级改造&#xff0c;推行企业设立登记标准化和智能化。…

java中测试计算能力_这 10 道 Java 测试题,据说阿里 P7 的正确率只有 50%

据说这是一套阿里Java工程师答题正确率只有50%的题目&#xff0c;由泰山版《Java开发手册》作者孤尽亲自出题&#xff0c;来测测凭借你的Java基础写下答案&#xff0c;看看你能对几题&#xff1f;题目一&#xff1a; float a 0.125f; double b 0.125d; System.out.println((a…

wireshark-win64-3.4.0安装_轴承安装规范

Sulli小苏&#xff1a;今天详细介绍下如何正确的安装轴承&#xff0c;正确的安装操作是轴承长寿命的关键&#xff0c;轮毂轴承的主要作用是承重和为轮毂的转动提供精确引导&#xff0c;它既承受轴向载荷又承受径向载荷&#xff0c;是一个非常重要的零部件。轴承的安装正确方式滚…

代码实现tan graph model for classification_几行代码搞定ML模型,低代码机器学习Python库正式开源...

PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型&#xff0c;提升机器学习实验的效率。想提高机器学习实验的效率&#xff0c;把更多精力放在解决业务问题而不是写代码上&#xff1f;低代码平台或许是个不错的选择。最近&#xff0c;机器之心发现了…

java坐标移动题目case_用java怎样编写一个二维坐标平移程序

展开全部java编写二维坐标平移程序&#xff0c;主要是e69da5e887aa62616964757a686964616f31333337626231通过类继承Point2D,使用里面的方法来平移&#xff0c;如下代码&#xff1a;class Point2D{int x, y;Point2D(){ }Point2D(int i,int j){xi;yj;}void offset(int a, int …

dataframe 如何选中某列的一行_带你领略pandas中多表之间如何处理

但我们在处理Pandas多表数据时,我们需要将多个表之间进行表格的连接与合并,当连接完多表之后我们可能还需要对数据进行多重的索引,方便我们更快的找到数据,以及对数据进行做透视表,更加直观的去观察我们的数据,今天我们就围绕着数据合并以及数据重塑及透视表进行展开讲解,让我们…

java的数列极差_[hoj]数列极差问题 | 学步园

贪心。关键是证明子问题最优即是总问题最优。可以考虑三个数的情况&#xff0c;易证选取最小的数擦除将得到最大数&#xff0c;vice versa 。故总体也是如此。用优先队列实现。STL自带仿函数greater<>用于调整小顶堆。#include #include using namespace std;int main(){…

python计算定积分_python编程通过蒙特卡洛法计算定积分详解

这篇文章主要介绍了python编程通过蒙特卡洛法计算定积分详解&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。 想当初&#xff0c;考研的时候要是知道有这么个好东西&#xff0c;计算定积分。。。开玩笑&#xff0c;那时候计算定积分根本没有这么简单的。但这确…

java容易掉发吗_容易被忽略的面试题—Java高并发

常见实现如CAS等。部分乐观锁削弱了一致性&#xff0c;但中低并发程度下的效率大大提高。并发编程Java中如何创建一个线程&#xff1f;从面相接口的角度上讲&#xff0c;实际上只有一种方法实现Runable接口&#xff1b;但Thread类为线程操作提供了更多的支持&#xff0c;所以通…

java spring mvc api_SpringMVC实现REST API

JSON使用Jackson jar包、RequestBody、ResponseBody注解&#xff0c;达到&#xff1a;1. 请求JSON消息体映射为JAVA对象2. 返回JAVA对象映射为JSON消息体Step 1. 导入Jackson jar包&#xff1a;Step 2. 在Spring MVC配置中加入annotation-driven&#xff0c;该配置可以确保Requ…

java 定义构造器_java的构造器定义以及使用

构造器&#xff0c;是面向对象所特有的概念&#xff0c;是一种特殊的方法&#xff0c;与对象创建有关1、构造器没有返回值类型2、构造器方法名与类名相同&#xff0c;而且可以重载构造器3、构造器不能手动调用&#xff0c;只能在创建对象时自动调用一次4、如果没有在类中定义构…

gateway动态路由_无语!SpringCloud Gateway动态路由之Nacos,我已经讲得很清楚了

前言当我们的网关Gateway程序开发完成之后&#xff0c;需要部署到生产环境&#xff0c;这个时候你的程序不能是单点运行的&#xff0c;肯定是多节点启动(独立部署或者docker等容器部署)&#xff0c;防止单节点故障导致整个服务不能访问&#xff0c;网关是对客户端的入口与出口&…