当前位置:首页 > 生活百科

python中map函数的用法(Python列表常用操作小技巧)

栏目:生活百科日期:2025-03-13浏览:0

1 前言

在上一篇文章中,我们回顾了Python元组常用操作小技巧,这篇文章我们继续聊聊Python里另一种常用的数据类型 &– 列表(List)。

和元组一样,列表也是一种序列,通过方括号[和]即可创建。列表中的值常被称为元素,元素的数据类型可以不同,如test_list = [0,1,1,&’a&’,&’b&’]就能成功创建一个列表。

不同于元组,列表是可变序列,因此序列可用的操作会更加灵活,接下来我们来回顾列表最常用的操作。

2 列表常用操作

2.1 遍历列表

以列表people = [&‘Adam&’,&’Nick&’,&’Tony&’]为例,可以使用for循环进行遍历:

for i in people:  print(i)

当需要更新列表时,使用下标遍历会更加方便:

for i in range(len(people)):  people&[i] += '_suffix'

2.2 切片

和元组一样,可以通过切片来获取列表的元素(Python的下标从0开始计算):

print(people&[:2])

输出为:

&['Adam','Nick']

2.3 删除元素

a. pop方法可以返回要删除的值,可以使用下标进行删除,或者删除最后一个元素:a = people.pop(2)或者a = people.pop(),a的值都将是&’Tony&’,而原列表将会删除对应的元素。

b. 如果你不需要使用删除的值,del是一个好办法:del people[0],则people列表将变为[&‘Nick&’,&’Tony&’]。

c. remove方法将删除列表中第一个所需删除的元素,如进行test_list.remove(1)操作后,列表将变为test_list = [0,1,&’a&’,&’b&’],注意,remove方法不返回任何值。

2.4 列表和字符串

列表和字符串能够灵活地进行转换,比如将字符串转化为列表:

# 将字符串转化为列表name = 'Adam is very cool'name_list_1 = list(name)print(name_list_1)# Split 方法能使用分隔符分割字符串name_list_2 = name.split()print(name_list_2)

输出为:

&['A', 'd', 'a', 'm', ' ', 'i', 's', ' ', 'v', 'e', 'r', 'y', ' ', 'c', 'o', 'o', 'l']&['Adam', 'is', 'very', 'cool']

而有时需要将列表合并成一个字符串,join方法非常好用:

# 用空格连接列表的元素,组成一个新的字符串print(' '.join(&['Adam', 'is', 'very', 'cool']))

输出为:

'Adam is very cool'

2.5 列表的别名

这是一个容易出错的点,下列代码中,两个变量是完全一样的,改变一个,另一个的值也会跟着改变:

# alias是列表name的别名name = &['Adam', 'is', 'very', 'cool']alias = namealias.pop()print(name)

输出为:

&['Adam', 'is', 'very']

因此,希望使用两个独立的列表时,尽量使用单独的赋值语句或者浅复制:

name = &['Adam', 'is', 'very', 'cool']# 创建值一样的列表name_2 = &['Adam', 'is', 'very', 'cool']# 浅复制name_3 = name&[:]

2.6 列表参数

元组可以通过*运算符作为参数传入函数中,列表也可以作为参数输出到函数中,此时函数会得到列表的一个引用,意味着如果函数中对列表进行了修改,那么原列表也将被修改,示例如下:

#定义一个函数,删除列表的第一个元素def del_head(t):  del t&[0]name = &['Adam', 'is', 'very', 'cool']del_head(name)print(name)

输出为:

&['is', 'very', 'cool']

参数t和变量name指向同一个列表,因此当t变化时,name也变化了。这个知识点十分重要,在编写函数时,要非常注意操作是否会创建一个新的列表,还是在原有列表上作变化。

2.7 映射和列表推导式

如果想通过一个函数对列表进行操作,映射(map)和列表推导式是很好的选择。Python提供的内置函数map接收两个参数 &– 映射函数和迭代对象,返回一个迭代对象,示例如下:

# 返回元素的平方def square(n):    return n*ntest_list = &[1,2,4,5]result = map(square, test_list)print(result)print(list(result))

输出为:

&<map object at 0x1101b9400&>&[1, 4, 16, 25]

使用列表推导式也可以完成上述操作:

test_list = &[1,2,4,5]result = &[i*i for i in test_list]print(result)

输出为:

&[1, 4, 16, 25]

3 总结

上述知识基本概括了列表的常见操作,简单总结一下经验:

大部分列表方法都是修改参数并返回None,一定要注意选择合适的方法,确保变量的安全性。实现同一种操作有很多种办法,有时用错误的方法不会报错,但结果有可能不对,确保理解了个中差异后再选择合适的方法。谨慎使用列表的别名,其实不止列表,其他的数据类型也会有别名的机制。

希望这些知识点对你有帮助,来一道leetcode算法题巩固一下列表知识吧,欢迎在评论区留下你的答案!下次我们将聊聊字典(Dict)。

题目:旋转数组

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例:

输入: nums = &[1,2,3,4,5,6,7], k = 3输出: &[5,6,7,1,2,3,4]解释:向右旋转 1 步: &[7,1,2,3,4,5,6]向右旋转 2 步: &[6,7,1,2,3,4,5]向右旋转 3 步: &[5,6,7,1,2,3,4]

“python中map函数的用法(Python列表常用操作小技巧)” 的相关文章

今天美股行情走势怎么样(美股行情最新分析)

股市扩大了每周涨幅,其中那些将从经济反弹中受益最大的公司领涨。美元下跌,而美国国债几乎没有变化。标准普尔500指数有望创下自4月以来最好的一周,金融、材料和零售...

冬天除湿温度多少度合适(空调除湿最佳温度)

现在正是天气炎热的时间,很多人都说明书空调降温,同时也通过空调的除湿功能来达到家庭用除湿的效果图。可能有些人还不太了解空调除湿是什么意识,空调除湿开放多少度比较...

cpb遮瑕膏哪个色号最好用(完美遮瑕离不开的四个色号)

人无完人,每个人的皮肤或多或少都有点缺陷。很多人想要完美无瑕轻薄光彩照人的底妆,可是依然有很多小仙女们不知道遮瑕膏的作用以及重要性!遮盖力再好的粉底液也无法彻底...

光宇推广员是做什么的,光宇科技游戏推广员最新消息

光宇游戏CEO宋洋发表了题为《专注游戏品质,向精品化模式发展》的主题演讲,演讲中他谈到如何做数据化、精细化运营。以下宋的演讲整理。表示光宇坚持用数据驱动运营,让...

2020年移动8元套餐包括什么(带你全面了解8元套餐内情)

随着三大运营商在各地的营业厅陆续恢复正常营业,因为疫情影响而几乎停滞的携号转网又开始活跃起来,咨询和办理的用户也逐渐多起来了。笔者在一家移动营业厅外随机咨询了几...

wordpress从入门到精通(wordpress建站需要什么知识)

一、建站的准备工作(域名+主机)域名注册:常见的域名后缀有com、net、cn等。服务器主机:阿里云、腾讯云、百度云都可以。WordPress主题:选择一款合适...

rar文件解压软件哪个好(可以解压rar格式的软件推荐)

一、课前声明1、本分享仅做学习交流,请自觉遵守法律法规!2、搜索:Kali与编程,学习更多网络攻防干货!另外一个压缩工具rar,在windows中是经常使用的压...

go程序设计语言pdf(go语言和java比)

我努力尊重每个人的个人喜好,因此我通常会避免争论哪种语言是最佳的编程语言,文本编辑器或操作系统。但是,最近有几次我被问到为什么我喜欢并使用很多Go,所以这里有一...

企业人事管理制度(企业管理制度标准范本)

公司人事管理制度第一章总则第一条:为使本公司人事管理规范化、制度化,使公司员工的管理有章可循,提高工作效率和员工责任感、归属感,依据《中华人民共和国劳动合同法》...

office公式编辑器插件(编辑数学公式文档)

我们在用word写资料时,比如论文、数据分析、报告等,经常需要插入一些公式,这些公式会含有一些特殊符号,比如根号、分式、求和等,这些特殊符号是不能直接用输入法来...