IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> python几个常见的数据处理操作,一行代码就能完成 -> 正文阅读

[数据结构与算法]python几个常见的数据处理操作,一行代码就能完成

file

【阅读全文】

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数据分组汇总器...

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 11:09:15  更:2022-01-24 11:10:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:48:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码