列表生成式 参数解包

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中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL

C++类和对象之初始化列表的使用方式

《C++类和对象之初始化列表的使用方式》:本文主要介绍C++类和对象之初始化列表的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C++初始化列表详解:性能优化与正确实践什么是初始化列表?初始化列表的三大核心作用1. 性能优化:避免不必要的赋值操作2. 强

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

史上最全nginx详细参数配置

《史上最全nginx详细参数配置》Nginx是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用代理服务器(TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人IgorSyso... 目录基本命令默认配置搭建站点根据文件类型设置过期时间禁止文件缓存防盗链静态文件压缩指定定错误页面跨域问题

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4: