列表生成式 参数解包

2024-06-12 15:38
文章标签 参数 列表 生成式 解包

本文主要是介绍列表生成式 参数解包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

类型系统是编程语言的基石。PHP 的数据类型是隐式存在,不同的数据类型之间运算,部分可以自动完成转型。javagolang 都是强类型语言,类型需要显性声明,即便go类型推断表现的像动态语言。

类型

python 从某种意义上来讲,并非像PHP那样完全动态,但使用 python 还是需要类型意识。

s="abc"
i=5
d={'Admin':28}
l=['a',23,('b','cc')]
print(s,i,d,l,sep="\n")  

打印效果如下

abc
5
{'Admin': 28}
['a', 23, ('b', 'cc')]

你可能疑问,同样是字符串为什么s变量打印引号没有了,而组合类型列表,字典中的字符串的引号仍然存在?
这是因为 print 具备多态的能力,会自行推断变量的类型,采用不同的类型方式,对输出的原始类型字符串是不带引号。

解包

 s = [1,3,5]print(s)   #   [1,3,5]print(*s)  #  1 3 5

同前文一样的道理,下述等价

 print('abc',123)     #输出 abc 123print(*['abc',123])  #输出 abc 123

问题

将下面字典数据用 print进行指定格式输出

 x={'Admin':95,'Lisa':85,'Bart':59}

要求输出结果为

Adam:95 Lisa:85 Brat:59

解决

方案1
利用for迭代,print类型推断,格式化,结合字典类型的items方法返回 ItemsView[_KT, _VT]

 for k,v in  x.items():print(k,":",v,sep="",end=" ")

方案2
使用列表生成式,%字符串格式化,外加解包知识,一行打印解决

 print(*['%s:%d'%t  for t in x.items()])

补充

矢量字符只记录字形标识点,在输出时需要重绘(计算),使用内存
点阵字符以像素点表示字形,就像你看到的马赛克,需要的字形存储量大,不需要计算
二者区别在于,前者输出一条线,只需要记录起止点坐标外加绘制这条线的算法即可,支持旋转,拉伸等。后者规定了多少个像素就是多个点,不能放大或缩小。如果同样以绘制一条线为例,点阵会记录该线上的坐标,存储量大。

python的列表生成式,只记录数据生产过程,使用时计算。这种模式,同矢量字符有得一拼。二者本质上更侧重于算法,根据需要,实时动态生成完整的目标数据,占用存储空间少,但需要一定的计算资源。

这篇关于列表生成式 参数解包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054626

相关文章

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的