python中string、json、bytes的转换

本文介绍了Python中数据类型转换的方法,包括json到string、bytes到string和string到json的转换。同时,提供了matplotlib的官方API链接、教程和示例资源,帮助读者深入学习matplotlib绘图库的使用。此外,还展示了如何使用scipy库求取两个旋转角度的中间值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

json->string

str = json.dumps(jsonobj)

bytes->string

str = str(bytes,‘utf-8’)

string->json

json = json.loads(str)

python中matplotlib学习

1.matplotlib官网api:https://matplotlib.org/3.3.1/api/index.html
2.Pyplot tutorial:https://matplotlib.org/3.3.1/tutorials/introductory/pyplot.html
3.examples :https://matplotlib.org/3.3.1/gallery/index.html#pyplots-examples

求两个旋转角度的中间值

import os,sys
sys.path.append(".")


print(os.path.dirname(os.path.abspath(__file__)))#当前文件的上级目录

from scipy.spatial.transform import Rotation as R


newrotateInfo1 = [1.0, 1.5, -3.0]
newrotateInfo2 = [-0.5, 2.0, -5.5]

r = R.from_euler('zyx', [[newrotateInfo1[0], newrotateInfo1[1], newrotateInfo1[2]],
                        [newrotateInfo2[0], newrotateInfo2[1], newrotateInfo2[2]]], degrees=True)
meanRotateValue = r.mean().as_euler('zyx', degrees=True)
print(meanRotateValue)
当我们谈论 `List`, `JSON`, `String`, 和 `Bytes` 之间的转换时,实际上是在讨论不同类型数据间的相互转化过程。这种需求常见于现代软件开发中的数据交换、存储及网络通信等领域。以下是每种类型的基本概念以及它们之间常见的转换方法: ### 1. **List** - 列表(List)是一种集合容器,能够存放一组有序的元素,支持动态增删改查等功能。 - 在许多编程语言中都存在类似的结构,比如 Python 的 list, Java 的 ArrayList 等。 ### 2. **JSON** - JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写的同时也易于机器解析和生成。 - 它基于文本形式,适合用于表示简单的键值对数据和平铺数组等非复杂的数据架构。 ### 3. **String** - 字符串(String)是用来表达文字的一系列字符组合,在几乎所有程序设计语言内都是基础数据单元之一。 - 当涉及不同类型的资料互相传递时,往往先将其转化为统一的标准——字符串作为媒介是比较普遍的选择。 ### 4. **Bytes** - 字节(Byte)是最基本的信息单位,八位长的一个二进制数代表一个字节。 - 文件读取写入、压缩加密算法运算、跨设备间通讯等多种场合都会涉及到原始字节数组的操作。 --- #### 转换流程示意图 ``` List -> JSON String <- Bytes ↑ ↓ 序列化 反序列化 ``` - **从 List 到 JSON String** : 使用诸如 Jackson 或 Gson 这样的库可以直接将 Java List 转换成对应的 JSON 表达式。 - **从 JSON String 再到 Byte Array**: 先得到上面提到的那个 JSON 格式的字符串之后调用 getBytes() 函数就拿到了相应的字节流版本了。 - **反过来的过程**(反向恢复): 给定一堆字节首先构造出正确的字符编码下的纯文本也就是所谓的"json string"; 接着按照约定好的模式加载成相应目标实体列表。 --- ### 实际例子展示 ```java import com.alibaba.fastjson.JSON; public class Main { public static void main(String[] args){ // 创建简单列表模拟业务对象 List<Map<String,Object>> users = Arrays.asList( new HashMap<>(){{put("id",1); put("name","Alice");}}, new HashMap<>(){{put("id",2); put("name","Bob");}} ); // 将list转为json字符串 String jsonString = JSON.toJSONString(users); System.out.println(jsonString); // 获取bytes[] byte[] data = jsonString.getBytes(); // 模拟发送接收端... String receivedStr = new String(data); List parsedUsers = JSON.parseArray(receivedStr, Map.class); } } ``` 以上就是一个完整的闭环演示了如何在这些关键概念间来回穿梭。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力减肥的小胖子5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值