Python解包列表批量赋值技巧

一、引言

众所周知,我们可以在Python中通过下标如lst[1]来对列表进行解包,或者用*lst进行解包,但是如果你遇到下面的问题该如何解决呢?

有如下列表,我们要获取列表中的前二个元素和最后一个元素,组成一个新的列表。

inputs = ["John", "Smith", "United States", "Blue", "Brown", "29"]

二、问题的解决

这是一个包含6个元素的列表inputs, 我们可以通过批量赋值的方法来得到需要的三个元素,只用一行代码就足够了。我们用first, second, third分别代表1,2, 3个元素。通过以下方式赋值。

first, second, *_, third = inputs
new_list = [first, second, third] #组成新的列表

上面这一行代码使用了扩展解包(extended unpacking)的语法。

三、解法分析

下面,我们对其进行一一解释:

first:将获取列表中的第一个元素,即"John"。

second:将获取列表中的第二个元素,即"Smith"。

【* _】:这是扩展解包语法,它表示将剩余的元素作为一个列表赋值给【_】(下划线)。此例中,"_ "并不是一个特定的变量名,而只是一个占位符,表示我们不关心剩余的中间元素。

这可以确保在扩展解包时,前两个元素被分配给first和second,而剩余的元素被收集到一个列表中。

所以,无论inputs中有多少个元素,first和second都会获取到前两个元素的值,而_*中的下划线部分将获取所有中间元素,不管有多少个。

最后,third将获取列表中的最后一个元素,即"29"。

这种方法方便地将一个列表拆分成多个变量,同时可以忽略中间不关心的元素。

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

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

相关文章

为什么不直接public,多此一举用get、set,一文给你说明白

文章目录 1. 封装性(Encapsulation)2. 验证与逻辑处理3. 计算属性(Computed Properties)4. **跟踪变化(Change Tracking)5. 懒加载与延迟初始化(Lazy Initialization)6. 兼容性与未来…

如何查询慢 SQL 产生的原因

如何查询慢 SQL 产生的原因 (1)分析 SQL 执行计划(explain extended),思考可能的优化点,是否命中索引等。 (2)没有索引或者没有用到索引(这是查询慢最常见的问题,是程序…

Nightingale 夜莺监控系统 - 部署篇(1)

Author:rab 官方文档:https://flashcat.cloud/docs 目录 一、概述二、架构2.1 中心机房架构2.2 边缘下沉式混杂架构 三、环境四、部署4.1 中心机房架构部署4.1.1 MySQL4.1.2 Redis4.1.3 Prometheus4.1.4 n9e4.1.5 Categraf4.1.6 验证4.1.7 配置数据源 4…

条款23:宁以 non-member、non-friend 替换 member 函数

假设一个表示web浏览器的类: class WebBrowser { public:...void clearCache();void clearHistory();void removeCookies();void clearEverything(); // 调用clearCache,clearHistory,removeCookies };当然,这个也可以通过非成员函数调用适当的成员函数…

红队打靶练习:HOLYNIX: V1

目录 信息收集 1、arp 2、netdiscover 3、nmap 4、nikto whatweb 目录探测 1、gobuster 2、dirsearch 3、dirb 4、feroxbuster WEB sqlmap 1、爆库 2、爆表 3、爆列 4、爆字段 后台登录 1、文件上传 2、文件包含 3、越权漏洞 反弹shell 提权 总结 信息…

Spring整理-Spring Bean的生命周期

Spring Bean的生命周期涉及多个阶段,从Bean的定义到其销毁。在这个过程中,Spring容器负责创建、初始化、使用和最终销毁Bean。了解这个生命周期有助于更好地管理Bean的行为和资源使用。 Spring Bean生命周期的主要阶段 实例化(Instantiation):容器首先创建Bean的实例。填充…

数据分析---SQL(2)

目录 SQL语句的执行顺序是什么举例说明SQL如何实现去重操作举例说明如何将时间戳转为yyyy-MM-dd形式如何将yyyy-MM-dd改为yyyyMMdd形式如何求两个yyyyMMdd形式的日期差几天SQL语句的执行顺序是什么 在SQL中,一条SQL语句的执行顺序如下: FROM子句:首先,执行FROM子句,确定要…

【Java】——期末复习题题库(九)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

matplotlib教程(一)—— 入门基础

前言 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式;它可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等 在使用它之前,应导入:import matp…

【 ATU 随笔记 - Inverter 】PV Inverter 太阳能逆变器市场分析

一、简介 在上一篇的介绍中与大家分享了Micro Inverter ( 微型逆变器 )的用途与特色,也提到 Micro Inverter 适合家庭或是一些小型企业的需求。太阳能作为再生能源的代表,在当今能源转型中扮演着重要角色,也是有大型企业、大型能源站的需求&a…

LeetCode1371. Find the Longest Substring Containing Vowels in Even Counts

文章目录 一、题目二、题解 一、题目 Given the string s, return the size of the longest substring containing each vowel an even number of times. That is, ‘a’, ‘e’, ‘i’, ‘o’, and ‘u’ must appear an even number of times. Example 1: Input: s “ele…

C#编程-实现重写

实现重写 实现派生类中基类的成员称为重写。在C#中,可以重写方法、属性和索引器。 重写是多态性的一种形式,因为它使您能够创建具有相同名称和不同功能的不同代码块。 重写函数 在面向对象编程中,子类可以提供超类中已定义的专门版本的函数。这称为函数重写。 函数重写是…

恢复 iPhone 和 iPad 数据的 10 个好工具 - [苹果数据恢复]

它发生了.. 有时您需要从您的手机或平板设备恢复重要数据。 许多人已经开始将重要文件存储在手机上,因为他们几乎可以在任何情况下随时随地轻松访问数据。 不言而喻; 您可以轻松访问您的电子邮件、共享图片、编辑和共享文档、支付账单等等,只需在您的手…

Git LFS 大文件存储

Git 碰到大文件的困境 Git 是业界流行的分布式版本控制工具,本地仓库与远端仓库同样保存了全量的文件和变更历史,这样让代码协作变得简单和高效。但也正因为如此,Git针对大型文件(例如图片、视频或其他二进制文件)的版…

RT-Thread GD32F4xx实现SD卡热插拔检测功能

GD32F470移植RT-Thread操作系统添加SD卡功能,增加SD卡热插拔检测 一、RT-Thread移植sd卡功能二、实现SD卡热插拔检测原理三、软件实现过程四、延展之ASSERT ERROR,即RT-Thread断言错误五、延展之STM32 SD卡热插拔检测六、结束语 一、RT-Thread移植sd卡功…

最近很火的一款的低代码开发平台

目录 一、JNPF开发平台 二、JNPF界面示意图 三、技术栈展示 技术点: 开发环境 前后端分离 服务无状态 现在,很多公司在数据化的过程中,都需要构建很多相应的内部工具来支持他们的业务发展,比如运营使用的活动后台、用户管理…

鸿蒙HarmonyOS-SDK管理使用指南

鸿蒙HarmonyOS-SDK管理使用指南 文章目录 鸿蒙HarmonyOS-SDK管理使用指南sdkmgr使用指导查看SDK组件安装组件卸载组件查看sdkmgr版本查看sdkmgr帮助options选项说明 ohsdkmgr使用指导查看SDK组件安装组件卸载组件查看ohsdkmgr版本查看ohsdkmgr帮助options选项说明 sdkmgr使用指…

红队专题-Golang工具ChYing

Golang工具ChYing 招募六边形战士队员原chying工具代码分析并发访问控制并发 原子 写入读取 通道嵌套映射结构初始化启动代理服务器重启代理服务器 招募六边形战士队员 一起学习 代码审计、安全开发、web攻防、逆向等。。。 私信联系 原chying工具代码分析 前有 Chying 后有…

DAY6--learning english

一、积累 1.sip She took a small sip of the hot tea to savor its delicate flavor. 她小口抿了一口热茶,细细品味其中的淡雅滋味。 2.vacuum Expreience the amazing cleaning power of vaccum cleaner. 体验真空吸尘器惊人的清洁能力。 3.stray Stray kitte…

RT-Thread I/O设备驱动接口

创建和注册I/O设备 驱动层负责创建设备实例,并注册到I/O设备管理器中,可以通过静态申明的方式创建设备实例,也可以用下面的接口进行动态创建: rt_device_t rt_device_create(int type, int attach_size);type:设备类…