当前位置: 首页 > news >正文

Python内置函数map(), list(), len(), iter(), hex(), hash()的详细解析,包括功能、语法、示例及注意事项

1. map(function, iterable, ...)

功能:对可迭代对象中的每个元素应用指定函数,返回一个迭代器。
参数

  • function:要执行的函数(可以是lambda表达式)。

  • iterable:一个或多个可迭代对象(如列表、元组)。
    返回值:迭代器(Python 3中需用list()等转换为列表)。

nums = [1, 2, 3]
squared = map(lambda x: x**2, nums)  # 平方操作
print(list(squared))  # 输出 [1, 4, 9]# 多参数示例
sums = map(lambda x, y: x + y, [1, 2], [3, 4])
print(list(sums))  # 输出 [4, 6]

注意

  • Python 3返回迭代器,节省内存但需显式转换。

  • 多可迭代对象时,函数需接收对应数量参数,且按最短长度截断。


2. list([iterable])

功能:将可迭代对象转换为列表。
参数

  • iterable(可选):字符串、元组、字典(返回键列表)等。
    返回值:列表对象。

str_list = list("hello")  # ['h', 'e', 'l', 'l', 'o']
tuple_list = list((1, 2, 3))  # [1, 2, 3]
empty_list = list()  # []
#从字符串创建列表
string = "hello"
string_list = list(string)
print(string_list)  # 输出: ['h', 'e', 'l', 'l', 'o']#从元组创建列表
tuple = (1, 2, 3)
tuple_list = list(tuple)
print(tuple_list)  # 输出: [1, 2, 3]#从字典创建列表
dictionary = {'a': 1, 'b': 2, 'c': 3}
keys_list = list(dictionary)
print(keys_list)  # 输出: ['a', 'b', 'c']

注意

  • 非可迭代对象(如整数)会报TypeError

  • 空参数返回空列表,等效于[]


3. len(s)

功能:返回对象的长度(元素个数)。
参数

  • s:字符串、列表、元组、字典、集合等。
    返回值:整数。

print(len("hello"))  # 5
print(len([1, 2, 3]))  # 3
print(len({"a": 1, "b": 2}))  # 2

注意

  • 自定义类需实现__len__()方法才支持len()

  • 字典返回键的数量,集合返回元素数量。


4. iter(object[, sentinel])

功能:生成可迭代对象的迭代器。
参数

  • object:支持迭代协议(有__iter__())或序列协议(有__getitem__())。

  • sentinel(可选):若提供,object需为可调用对象,迭代直到返回sentinel
    返回值:迭代器对象。

nums = [1, 2, 3]
it = iter(nums)
print(next(it))  # 1
print(next(it))  # 2# 文件逐行读取(直到空行)
with open('file.txt') as f:for line in iter(f.readline, ''):print(line)

5. hex(x)

功能:将整数转换为小写十六进制字符串(前缀0x)。
参数

  • x:整数。
    返回值:字符串,如'0x1a'

print(hex(255))  # 0xff
print(hex(-42))  # -0x2a

注意

  • 非整数参数会报TypeError

  • 转换结果可通过format(x, '#X')转为大写。


6. hash(object)

功能:返回对象的哈希值(整数)。用于字典键、集合成员快速查找。
参数

  • object:不可变类型(如字符串、元组、数字)。
    返回值:整数哈希值。

print(hash("hello"))  # 随机整数(Python 3.3+因安全随机化)
print(hash(123))  # 123

注意

  • 可变对象(如列表、字典)不可哈希,会报TypeError

  • 哈希值在程序生命周期内一致,但不同解释器或版本可能不同。


总结

  • map():批量处理数据,惰性求值。

  • list():灵活构造列表,处理迭代结果。

  • len():通用长度查询,需对象实现__len__

  • iter():手动控制迭代过程,支持高级迭代逻辑。

  • hex():整数转十六进制,调试或编码常用。

  • hash():确保对象可哈希,优化数据结构性能。

相关文章:

Python内置函数map(), list(), len(), iter(), hex(), hash()的详细解析,包括功能、语法、示例及注意事项

1. map(function, iterable, ...) 功能:对可迭代对象中的每个元素应用指定函数,返回一个迭代器。 参数: function:要执行的函数(可以是lambda表达式)。 iterable:一个或多个可迭代对象&#x…...

[LVGL] 在VC_MFC中移植LVGL

前言: 0. 在MFC中开发LVGL的优点是可以用多个Window界面做辅助扩展【类似GUIguider】 1.本文基于VC2022-MFC单文档框架移植lvgl8 2. gitee上下载lvgl8.3 源码,并将其文件夹改名为lvgl lvgl: LVGL 是一个开源图形库,提供您创建具有易于使用…...

MySQL视图索引操作

创建学生表; mysql> create table Student(-> Sno int primary key auto_increment,-> Sname varchar(30) not null unique,-> Ssex char(2) check (Ssex男 or Ssex女) not null,-> Sage int not null,-> Sdept varchar(10) default 计算机 not …...

一次奇怪的空指针问题分析:事务、死锁与隐式回滚

最近我们在排查一个诡异的 空指针异常,整个分析过程可以说是跌宕起伏,最终的结论也颇具隐蔽性。今天就把这个问题分享出来,希望对大家有所帮助。 问题现象 在系统中,我们有 单据 B,它通过一个 关联 ID 字段与 上级单…...

解决aspose将Excel转成PDF中文变成方框的乱码问题

原文网址:解决aspose将Excel转成PDF中文变成方框的乱码问题_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何解决aspose将Excel转成PDF中文变成方框的乱码问题。 问题描述 用aspose将word、excel等转成PDF后,英文展示正常,但中文全部变成了…...

.net8.0使用EF连接sqlite数据库及使用Gridify实现查询的简易实现

EF Core EF Core 是一个流行的对象关系映射(ORM)框架,它简化了与数据库的交互,提供了一个高效、灵活且易于使用的数据访问层。 Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技…...

2025.2.5——五、[网鼎杯 2020 青龙组]AreUSerialz

题目来源&#xff1a;BUUCTF [网鼎杯 2020 青龙组]AreUSerialz 一、打开靶机&#xff0c;整理信息 直接得到一串php代码&#xff0c;根据题目可以看到还有序列化 二、解题思路 step 1&#xff1a;代码审计 <?phpinclude("flag.php");highlight_file(__FILE__…...

电风扇各国检测认证详细介绍美国FCC+UL欧盟CE+ROHS日本PSE+METI备案+英国UKCA

美国 &#xff1a; FCC认证 &#xff1a;产品进入美洲市场的通行证&#xff0c;需通过FCC SDOC认证。 FCC第15部分B: 该标准适用于非故意辐射设备&#xff0c;如家用电器、电脑设备等。它规定了这些设备在电磁环境中不会产生过多的辐射。 ​射频标准: FCC第15部分C:该标准适…...

Flutter Isolate解决耗时任务导致卡死

先来对比一下在Flutter的ui主线程下直接计算一个耗时任务的情况&#xff1a; import package:flutter/material.dart;void main() {runApp(const MaterialApp(home: H(),)); }class H extends StatefulWidget {const H({super.key});overrideState<H> createState() >…...

使用deepseek快速创作ppt

目录 1.在DeekSeek生成PPT脚本2.打开Kimi3.最终效果 DeepSeek作为目前最强大模型&#xff0c;其推理能力炸裂&#xff0c;但是DeepSeek官方没有提供生成PPT功能&#xff0c;如果让DeepSeek做PPT呢&#xff1f; 有个途径&#xff1a;在DeepSeek让其深度思考做出PPT脚本&#xf…...

STM32的HAL库开发---高级定时器---输出比较模式实验

一、高级定时器输出比较模式实验原理 定时器的输出比较模式总共有8种&#xff0c;本文使用其中的翻转模式&#xff0c;当TIMXCCR1TIMXCNT时&#xff0c;翻转OC1REF的电平&#xff0c;OC1REF为输出参考信号&#xff0c;高电平有效&#xff0c;OC1REF信号连接到0C1上面&#xff…...

python Excel 表读取合并单元格以及清除空格符

读取合并单元格并保留合并信息 读取合并单元格并保留合并信息清除各单元格的空格和换行符&#xff0c;并去除列名中的空格和换行符 读取合并单元格并保留合并信息 当我们只是使用 pandas 的 read_excel 方法读取 Excel 文件时&#xff0c;我们可能会遇到一个很棘手的问题&…...

额外题目汇总2-链表

链表 1.24. 两两交换链表中的节点 力扣题目链接(opens new window) 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 思路 使用虚拟头结点会很方便&#xff…...

C#控件开发6—指示灯

按钮功能&#xff1a;手自动旋转&#xff0c;标签文本显示、点击二次弹框确认&#xff08;源码在最后边&#xff09;&#xff1b; 【制作方法】 找到控件的中心坐标&#xff0c;画背景外环、内圆&#xff1b;再绘制矩形开关&#xff0c;进行角度旋转即可获得&#xff1b; 【关…...

探索从传统检索增强生成(RAG)到缓存增强生成(CAG)的转变

在人工智能快速发展的当下&#xff0c;大型语言模型&#xff08;LLMs&#xff09;已成为众多应用的核心技术。检索增强生成&#xff08;RAG&#xff09;&#xff08;RAG 系统从 POC 到生产应用&#xff1a;全面解析与实践指南&#xff09;和缓存增强生成&#xff08;CAG&#x…...

【学习总结|DAY036】Vue工程化+ElementPlus

引言 在前端开发领域&#xff0c;Vue 作为一款流行的 JavaScript 框架&#xff0c;结合 ElementPlus 组件库&#xff0c;为开发者提供了强大的构建用户界面的能力。本文将结合学习内容&#xff0c;详细介绍 Vue 工程化开发流程以及 ElementPlus 的使用&#xff0c;助力开发者快…...

【GitHub】GitHub 2FA 双因素认证 ( 使用 Microsoft Authenticator 应用进行二次验证 )

文章目录 一、GitHub 的 2FA 双因素认证二、使用 Microsoft Authenticator 应用进行二次验证1、TOTP 应用2、下载 Microsoft Authenticator 应用3、安装使用 Authenticator 应用 三、恢复码重要性 一、GitHub 的 2FA 双因素认证 现在登录 GitHub 需要进行二次身份验证 ; 先登录…...

c# 2025/2/7 周五

13.《表达式&#xff0c;语句详解1》 18未完。。 表达式&#xff0c;语句详解_1_哔哩哔哩_bilibili...

蓝桥杯思维训练(五)

文章目录 子集II1191.K次串联后最大子数组之和 子集II 子集II 思路分析&#xff1a; 求解子集的问题的关键就是&#xff0c;通过递归与回溯&#xff0c;我们就是得确定以某个元素开始的子集&#xff0c;对于这个题目来说&#xff0c;比较麻烦的一点就是&#xff0c;存在重复的…...

I.MX6ULL 中断介绍下

GIC重点寄存器 1.中断分发器寄存器&#xff08;Distributor register &#xff09; a.Distributor Control Register(中断分发控制寄存器), GICD_CTLR Purpose Enables the forwarding of pending interrupts from the Distributor to the CPU interfaces 使能将挂起的中断从…...

济南精神心理专科:如何识别躯体化障碍的早期信号

济南躯体化障碍疾病就医选择难题在济南&#xff0c;面对躯体化障碍疾病的朋友最关心的是隐私和靠谱。选择一家好的医院至关重要&#xff0c;尤其是看躯体化障碍一定要选专科专业医院。这类医院不仅在专业诊疗上更有优势&#xff0c;还能提供更好的隐私保护和服务体验。本文将基…...

2.Pandas在电商数据处理中的核心价值

第1章 Pandas在电商数据处理中应用 1.1 为什么Excel不够用&#xff0c;需要Pandas Pandas是Python里的数据分析核心库。它的名字来自“Panel Data”&#xff08;面板数据&#xff09;&#xff0c;专门处理表格型数据。电商数据分析里&#xff0c;Pandas主要解决三类问题&#x…...

MySQL 事务与并发控制:从日志底层到 MVCC 哲学

MySQL 事务与并发控制&#xff1a;从日志底层到 MVCC 哲学 文章目录 MySQL 事务与并发控制&#xff1a;从日志底层到 MVCC 哲学&#x1f4da; 课程大纲规划 &#x1f4d6; 第一讲&#xff1a;基础——事务概念与隔离级别1. &#x1f3ad; 并发带来的三大“幽灵”&#x1f47b; …...

小白也能玩转AI翻译:translategemma图文翻译快速入门指南

小白也能玩转AI翻译&#xff1a;translategemma图文翻译快速入门指南 1. 认识translategemma&#xff1a;你的私人翻译助手 translategemma-12b-it是Google基于Gemma 3模型开发的开源翻译模型&#xff0c;它能同时处理文本和图片中的文字翻译。想象一下&#xff0c;你正在国外…...

AutoSAR从入门到精通:构建标准化汽车软件架构的完整指南

1. 为什么汽车软件需要AutoSAR&#xff1f; 十年前我刚入行汽车电子时&#xff0c;每个OEM厂商的ECU软件都是独立开发的"黑盒子"。同一款车窗控制功能&#xff0c;在德系、日系、美系车型上要用完全不同的代码实现。更痛苦的是&#xff0c;当需要升级ADAS功能时&…...

自动药片装瓶机 No.360 三菱 组态王 基于PLC的药片装瓶自动控制系统 我们主要的后发送...

自动药片装瓶机 No.360 三菱 组态王 基于PLC的药片装瓶自动控制系统 我们主要的后发送的产品有&#xff0c;带解释的梯形图接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面车间里那些药片装瓶机&#xff0c;以前人工摆瓶子、数药片&#xff0c;慢就算了&#xff0c;…...

AnythingtoRealCharacters2511镜像免配置部署教程:Docker+ComfyUI开箱即用方案

AnythingtoRealCharacters2511镜像免配置部署教程&#xff1a;DockerComfyUI开箱即用方案 想快速将动漫人物变成真实照片&#xff1f;这个教程教你10分钟搞定专业级动漫转真人效果&#xff0c;无需任何技术背景&#xff01; 1. 为什么选择这个镜像&#xff1f; 如果你曾经尝试…...

Excel 根据A列标签拆分为多个列数据

举例&#xff1a;如下图所示将AB列内容拆分为红色框内的格式方便绘制图表Sub SplitCategoriesToColumns()Dim ws As WorksheetDim lastRow As LongDim startRow As LongDim dict As ObjectDim keyOrder As New CollectionDim i As Long, j As LongDim key As VariantDim val As…...

dig (Domain Information Groper):从命令行到自动化运维的DNS探秘

1. 从命令行工具到运维利器的dig进化史 第一次接触dig命令时&#xff0c;我正被一个诡异的域名解析问题困扰。当时作为新手运维&#xff0c;只会用ping和nslookup反复测试&#xff0c;直到同事甩给我一行dig trace example.com——瞬间看到了完整的DNS解析链条&#xff0c;那种…...

C++vector迭代器失效全解析

深入讲解 C vector 的迭代器失效在 C 中&#xff0c;std::vector 是一个动态数组&#xff0c;它支持随机访问和高效的元素操作。迭代器是 C 中用于遍历容器元素的重要工具&#xff0c;类似于指针。但使用 vector 时&#xff0c;某些操作可能导致迭代器失效&#xff08;iterator…...