站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群.欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!
发布于2022-01-24 20:56 阅读(243) 评论(0) 点赞(1) 收藏(1)
1、如何统一列表中的元素对象的类型?
假设一个列表中的数据是下面这样的:
list_1 = ['a', 1, 3.0, 2, '1']
现在为了保证数据统一,将每个元素的类型都转为字符类型。如果要使用很少的代码量完成,那最先想到的就是map()函数,基本思路就是用map函数遍历后对应改变每个元素的数据类型。
list_2 = list(map(str, list_1))
print(list_2)
经过处理以后可以得到下面的结果,数组中的每个元素都已经变成了字符类型了。
['a', '1', '3.0', '2', '1']
2、如何将子列表的元素全部合并到父列表中?
有一个二维数组是这样的。
list_3 = [['a', 'b'], ['c'], ['d', 'e', 'f'], ['g']]
最终目的是想转换成这样的。
list_4 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
这个时候可以使用列表生成式的方式来做,通常列表生成式只需要一行代码就可以实现。
list_5 = [item for list_ in list_3 for item in list_]
print(list_5)
# ['a', 'b', 'c', 'd', 'e', 'f', 'g']
这个表达式实际上是分成了两个部分,一个是for list_ in list_3遍历原始的list_3二维数组。
这个时候list_就是二维数组中的每个一位数组对象。在使用for item in list_相当于把一位数组再遍历,得到的item实际上就是所有的具体元素。
3、如何交换一个字典中的键值对?就是将键:值反过来。
例如有下面这样的字典数据:
dic_1 = {'name': 'Python 集中营', 'age': '1', 'sex': 'man'}
dic_2 = {a: b for b, a in dic_1.items()} # 通过直接遍历出键:值,同时键:进行交换。
print(dic_2)
得到的结果如下:
{'Python 集中营': 'name', '1': 'age', 'man': 'sex'}
4、如何使用map()函数计算所有整数位之和?
比如:123 = 1 + 2 + 3 = 6,511 = 5 + 1 + 1 = 7;
首先,肯定要用到sum()函数来计算和。
假设要计算 456 = 4 + 5 + 6 = 15
print(sum([4, 5, 6]))
# 15
像上面这样要计算456的和,只需要将其拆分成4,5,6,再使用sum()计算即可。
这个拆分操作使用map()函数就可以实现。
list10 = list(map(int,str(456)))
print(list10)
# [4, 5, 6]
最终,写成一行应该是这样的。
sum(map(int,str(456)))
将其转换成一个函数就是再加上一个虚拟函数表达式。
func_sum = lambda a: sum(map(int,str(a)))
print(func_sum(7891)) # 调用该函数
# 得到结果 25
【往期精彩】
过年了,用 PyQt5 生成一副春联吧...
记录一下python中的十大%占位符对应的格式化...
PyQt5 UI 制作一个豆瓣电影信息查看器,初识QThread多线程...
PyQt5 最小化到托盘,升级小闹钟...
PyQt5 小工具:Excel数据分组汇总器...
站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群
欢迎关注我的公众号:程序员总部,关注公众号回复python,免费领取 全套python视频教程,关注公众号回复充值+你的账号,免费为您充值1000积分
作者:伤心太平洋
链接:https://www.pythonheidong.com/blog/article/1259549/cd57e45fbea84c1a0d40/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!