Python编程——常用的Python单行实现功能代码示例

news/2024/5/13 3:31:24
  1. For循环:使用列表推导式在一行代码中实现For循环,例如筛选出列表中大于250的值。

    mylist = [200, 300, 400, 500]
    result = [x for x in mylist if x > 250]  # [300, 400, 500]
    
  2. While循环:展示如何在一行代码中使用While循环,包括无限循环和带有条件的循环。

    while True: print(1)  # infinite 1
    x = 0
    while x < 5: print(x); x = x + 1  # 0 1 2 3 4 5
    
  3. IF Else语句:使用三元运算符在一行代码中实现IF Else逻辑。

    print("Yes") if 8 > 9 else print("No")  # No
    E = 2
    print("High") if E == 5 else print("DataSTUDIO") if E == 2 else print("Low")  # DataSTUDIO
    if 3 > 2: print("Exactly")  # Exactly
    
  4. 合并字典:使用一行代码将两个字典合并为一个。

    d1 = {'A': 1, 'B': 2}
    d2 = {'C': 3, 'D': 4}
    d1.update(d2)  # {'A': 1, 'B': 2, 'C': 3, 'D': 4}
    d3 = {**d1, **d2}  # {'A': 1, 'B': 2, 'C': 3, 'D': 4}
    
  5. 函数定义:使用传统函数定义或lambda表达式在一行代码中创建函数。

    def fun(x): return True if x % 2 == 0 else False
    print(fun(2))  # False
    fun = lambda x: x % 2 == 0
    print(fun(2))  # True
    print(fun(3))  # False
    
  6. 递归:使用一行函数定义和一行if-else语句实现递归,例如计算斐波那契数。

    def Fib(x): return 1 if x in {0, 1} else Fib(x-1) + Fib(x-2)
    print(Fib(5))  # 8
    print(Fib(15))  # 987
    
  7. 数组过滤:使用列表推导式在一行代码中过滤数组,例如筛选出偶数。

    mylist = [2, 3, 5, 8, 9, 12, 13, 15]
    result = [x for x in mylist if x % 2 == 0]  # [2, 8, 12]
    
  8. 异常处理:使用exec()语句在一行代码中实现Try-Except异常处理。

    exec('try: print(x) except: print("Error")')  # Error
    
  9. 列表转字典:使用enumerate()函数和dict()函数在一行代码中将列表转换为字典。

    mylist = ["John", "Peter", "Mathew", "Tom"]
    mydict = dict(enumerate(mylist))  # {0: 'John', 1: 'Peter', 2: 'Mathew', 3: 'Tom'}
    
  10. 一行多变量赋值:在一行代码中为多个变量赋值。

    a, b, c = 5, 7, 10
    print(a, b, c)  # 5 7 10
    
  11. 值交换:无需临时变量,在一行代码中交换两个变量的值。

    v1, v2 = 100, 200
    v1, v2 = v2, v1
    print(v1, v2)  # 200 100
    
  12. 排序:使用sort()方法或sorted()函数在一行代码中对列表进行排序。

    mylist = [32, 22, 11, 4, 6, 8, 12]
    mylist.sort()  # [4, 6, 8, 11, 12, 22, 32]
    print(sorted(mylist))  # [4, 6, 8, 11, 12, 22, 32]
    
  13. 读取文件:使用列表推导式在一行代码中读取文件的所有行。

    data = [line.strip() for line in open("data.txt", "r")]
    print(data)  # ['hello world', 'Hello Python']
    
  14. 类定义:使用lambda表达式或namedtuple()在一行代码中定义一个简单的类。

    Emp = lambda:None; Emp.name = "云朵君"; Emp.age = 22
    print(Emp.name, Emp.age)  # 云朵君 22
    from collections import namedtuple
    Emp = namedtuple('Emp', ["name", "age"])("云朵君", 22)
    print(Emp.name, Emp.age)  # 云朵君 22
    
  15. 分号:使用分号在一行代码中分隔多个语句。

    a = "Python"; b = "编程"; c = "语言"; print(a, b, c)  # Python 编程 语言
    
  16. 打印:使用print()函数和range()在一行代码中打印一系列数字。

    print(range(1, 5))  # 1 2 3 4
    print(range(1, 6))  # 1 2 3 4 5
    
  17. map函数:使用map()函数和lambda表达式在一行代码中应用函数到每个列表元素。

    print(list(map(lambda a: a + 2, [5, 6, 7, 8, 9, 10])))  # [7, 8, 9, 10, 11, 12]
    
  18. 删除列表中的多个元素:使用del方法和切片在一行代码中删除列表中的多个元素。

    mylist = [100, 200, 300, 400, 500]
    del mylist[1::2]  # [100, 300, 500]
    print(mylist)
    
  19. 打印图案:使用print语句和星号(*)在一行代码中打印重复的字符或图案。

    print('😀' * 3)  # 😀 😀 😀
    print('😀' * 2)  # 😀 😀
    print('😀' * 1)  # 😀
    
  20. 查找质数:使用filter()函数和lambda表达式在一行代码中查找范围内的质数。

    print(list(filter(lambda a: all(a % b != 0 for b in range(2, a)), range(2, 20))))  # [2, 3, 5, 7, 11, 13, 17, 19]
    

这些单行代码示例展示了Python语言的简洁性和表达力,有助于编写更高效、更易读的代码。


http://www.mrgr.cn/p/31360100

相关文章

WindowsPE重装Windows系统详细介绍

本文详细介绍了WindowsPE、UEFI BIOS、如何制作WindowsPE、网络唤醒WOL、如何格式化硬盘及分区 、GHost还原数据、驱动程序分类相关知识目录目录理论知识 什么是WindowsPE? 什么是UEFI BIOS?(简)实操 如何制作WindowsPE? 如何进入BIOS? 常用项介绍 设置U盘启动 网络…

02_c/c++开源库ZeroMQ

1.安装 C库 libzmq sudo apt install libzmq3-dev 实例: https://zeromq.org/get-started/?languagec&librarylibzmq# 编译依赖: pkg-config --cflags --libs libzmq or cat /usr/lib/x86_64-linux-gnu/pkgconfig/libzmq.pc -isystem /usr/include/mit-krb5 -I/usr/in…

dwc3控制器是怎么处理otg

概念 在OTG中&#xff0c;初始主机设备称为A设备&#xff0c;外设称为B设备。可用电缆的连接方式来决定初始角色。两用设备使用新型Mini-AB插座&#xff0c;从而使Mini-A插头、Mini-B插头和Mini-AB插座增添了第5个引脚&#xff08;ID&#xff09;&#xff0c;以用于识别不同的…

存储器数据恢复相关知识

讲述硬盘基本结构及其储存理论,介绍如何恢复常用存储器数据。目录目录理论知识 硬盘如何储存数据? 磁道和扇区简介 盘面号 磁道 柱面 扇区 硬盘如何读写数据? 数据删除原理 数据如何丢失的? 人为原因造成的数据丢失: 自然灾害造成的数据丢失: 软件原因造成…

ARM学习(26)链接库的依赖查看

笔者今天来聊一下查看链接库的依赖。 通常情况下&#xff0c;运行一个可执行文件的时候&#xff0c;可能会出现找不到依赖库的情况&#xff0c;比如图下这种情况&#xff0c;可以看到是缺少了license.dll或者libtest.so&#xff0c;所以无法运行。怎么知道它到底缺少什么dll呢&…

构建RAG应用-day05: 如何评估 LLM 应用 评估并优化生成部分 评估并优化检索部分

评估 LLM 应用 1.一般评估思路 首先,你会在一到三个样本的小样本中调整 Prompt ,尝试使其在这些样本上起效。 随后,当你对系统进行进一步测试时,可能会遇到一些棘手的例子,这些例子无法通过 Prompt 或者算法解决。 最终,你会将足够多的这些例子添加到你逐步扩大的开发集中…

android脱壳第二发:grpc-dumpdex加修复

上一篇我写的dex脱壳&#xff0c;写到银行类型的app的dex修复问题&#xff0c;因为dex中被抽取出来的函数的code_item_off 的偏移所在的内存&#xff0c;不在dex文件范围内&#xff0c;所以需要进行一定的修复&#xff0c;然后就停止了。本来不打算接着搞得&#xff0c;但是写了…

ELK 日志分析系统(二)

一、ELK Kibana 部署 1.1 安装Kibana软件包 #上传软件包 kibana-5.5.1-x86_64.rpm 到/opt目录 cd /opt rpm -ivh kibana-5.5.1-x86_64.rpm 1.2 设置 Kibana 的主配置文件 vim /etc/kibana/kibana.yml --2--取消注释&#xff0c;Kiabana 服务的默认监听端口为5601 server.po…

简单的jmeter脚本自动化

1、创建线程组&#xff0c;定义自定义变量&#xff0c;保存请求默认值 2、用csv编写测试用例 备注&#xff1a;如果单元格内本身就有引号&#xff0c;则格式会有点小问题&#xff0c;不能直接修改为csv 用txt打开后 有引号的需要在最外层多包一层引号&#xff0c;每个引号前…

SpringBoot+vue开发记录(二)

说明&#xff1a;本篇文章的主要内容为SpringBoot开发中后端的创建 项目创建: 1. 新建项目&#xff1a; 如下&#xff0c;这样简单创建就行了&#xff0c;JDK什么的就先17&#xff0c;当然1.8也是可以的&#xff0c;后面可以改。 这样就创建好了&#xff1a; 2. pom.xml…

Golang | Leetcode Golang题解之第44题通配符匹配

题目&#xff1a; 题解&#xff1a; func isMatch(s string, p string) bool {for len(s) > 0 && len(p) > 0 && p[len(p)-1] ! * {if charMatch(s[len(s)-1], p[len(p)-1]) {s s[:len(s)-1]p p[:len(p)-1]} else {return false}}if len(p) 0 {retur…

go的编译以及运行时环境

开篇 很多语言都有自己的运行时环境&#xff0c;go自然也不例外&#xff0c;那么今天我们就来讲讲go语言的运行时环境&#xff01; 不同语言的运行时环境对比 我们都知道Java的运行时环境是jvm &#xff0c;javascript的运行时环境是浏览器内核 Java -->jvm javascript…

基于Springboot的网课管理系统

基于SpringbootVue的网课管理系统的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录 首页 课程表 论坛交流 学校公告 后端 学生管理 教师管理 班级管理 课程分类管理…

TODO -蓝桥杯2018年A组-付账问题

0.题目 题目描述 几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。 现在有 \(n\) 个人出去吃饭,他们总共消费了 \(S\) 元。其中第 \(i\) 个人带了 \(a_i\) 元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢? 为了…

【TCP:可靠数据传输,快速重传,流量控制,TCP流量控制】

文章目录 可靠数据传输TCP&#xff1a;可靠数据传输TCP发送方事件快速重传流量控制TCP流量控制 可靠数据传输 TCP&#xff1a;可靠数据传输 TCP在IP不可靠服务的基础上建立了rdt 管道化的报文段 GBN or SR 累计确认&#xff08;像GBN&#xff09;单个重传定时器&#xff08;像…

小伙伴:我是专升本,能不写在简历里吗?

大家好,我是树哥。 最近我推出了简历辅导服务(详见:500 块就能获得 10 年的行业经验,太赚了!),有一位同学找我做了简历辅导。 在阅读他的简历的时候,我发现他的学历没有写入学时间和毕业时间,感觉不是很直观,于是让他补全一下。小伙伴回复说:我是专升本的,本科只有…

JetBrains PhpStorm v2024.1 安装教程 (PHP集成开发IDE)

前言 PhpStorm是由JetBrains推出的一款轻量级集成开发环境&#xff0c;专为PHP开发者而设计。该软件融合了智能的HTML/CSS/JavaScript/PHP编辑器、代码质量分析工具、版本控制系统集成&#xff08;包括SVN和GIT&#xff09;、调试和测试等功能。除此之外&#xff0c;PhpStorm还…

PyQt介绍——动画使用详解之QPropertyAnimation

一、继承关系 PyQt5的动画框架是QAbstractAnimation&#xff0c;它是一个抽象类&#xff0c;不能直接使用&#xff0c;需要使用它的子类。它的类结构如下&#xff1a; QAbstractAnimation&#xff1a;抽象动画&#xff0c;是所有动画的基类&#xff0c;不能直接使用。 QVariant…

Jetpack Compose 中如何实现全面屏

看问题本质,设置全面屏,是系统窗口的行为,与 View 和 Compose 有什么关系呢? 所以,原理和传统 View 视图是一样的,甚至 Api 都是一模一样的,不熟悉的可以看我之前的文章。传送门: Android 全面屏体验 那为什么还要写这篇文章呢?主要是在 Compose 中写法上的一些区别,…

论文解读:Label Hallucination for Few-Shot Classification

文章汇总 动机 本文的一个思想就是&#xff1a;尽管新类的标签并不能“恰如其分”地表示基数据集中的样本&#xff0c;但是很多基数据集的样本会包含与新类中相似的对象&#xff0c;例如&#xff0c;基数据集中的老虎和新类中的猫有相似的特征&#xff0c;那么就有60%的概率将…