python数据结构转字符串_python2中字符不显示问题_python2_递归
# encoding:utf-8 def get_str(data):
"""将python数据转化为肉眼可见的字符串
:param data: str、dict、list
:return: str
"""
if data is None:
return ""
if isinstance(data, str):
return "%s" % data
elif isinstance(data, dict):
ret = "{"
for key, value in data.items():
# 处理key
if isinstance(key, int) or isinstance(key, float):
ret += "%s: " % str(key)
else:
ret += "'%s': " % key
# 处理值
if isinstance(value, int) or isinstance(value, float):
ret += "%s, " % str(value)
elif isinstance(value, str):
ret += "'%s', " % value
else:
ret += get_str(value)+", "
ret += "} "
elif isinstance(data, list):
ret = "["
for value in data:
if isinstance(value, int) or isinstance(value, float):
ret += "%s, " % str(value)
elif isinstance(value, str):
ret += "'%s', " % value
else:
ret += get_str(value) + ", "
ret += "] "
elif isinstance(data, set) or isinstance(data, tuple):
ret = "("
for value in data:
if isinstance(value, int) or isinstance(value, float):
ret += "%s, " % str(value)
elif isinstance(value, str):
ret += "'%s', " % value
else:
ret += get_str(value) + ", "
ret += ") "
else:
ret = "%s" % str(data)
return ret if __name__ == "__main__":
data = {
"items": {
"datetime": "2021-09-15 10:54:59",
"internet": 1,
"server": "pool.ntp.org",
"timezone": "+8"},
"zone_list": [
"(UTC)协调世界时",
"(UTC)卡萨布兰卡",
"(UTC)蒙罗维亚、雷克雅未克",
"(UTC)都柏林、爱丁堡、里斯本、伦敦",
"(UTC+01:00)布鲁塞尔、哥本哈根、马德里、巴黎"],
"zone_name":"(UTC+08:00)北京、重庆、香港特别行政区、乌鲁木齐",
"message": "ok",
"status": 1000,
"token": "5b2fe1ce5fe0aa6123c09bc8a4d51b40"
}
print data
print get_str(data)
python数据结构转字符串_python2中字符不显示问题_python2_递归的更多相关文章
- python数据结构-如何为元组中的每个元素命名
如何为元组中的每个元素命名 简述 当对象数据格式固定时,用元组比列表更节省内存空间, 我们使用索引访问元组元素,但是这种访问方式会降低程序的可读性. 举个栗子 对于学生的信息,我们有固定的数据格式,我 ...
- python数据结构-如何统计序列中元素的频度
如何统计序列中元素的频度 问题举例 如何找出随机序列[1, 5, 6, 5, 3, 2, 1, 0, 6, 1, 6]中出现频度最高的3个元素? 如何统计某篇英文文章中词频最高的5个单词? 将序列转换 ...
- python数据结构-如何根据字典中值的大小对字典项排序
如何根据字典中值的大小对字典项排序 问题举例 某班英语成绩以字典形式存储,如何根据成绩高低,计算学生成绩排名 { “tom”:80, "lily":88, "marton ...
- c程序设计语言_习题1-19_编写函数reverse(s)将字符串s中字符顺序颠倒过来。
Write a function reverse(s) that reverses the character string s . Use it to write a program that re ...
- python 判断列表字符串元素首尾字符是否相同
def match_words(words): ctr = for word in words: and word[] == word[-]: ctr += return ctr print(matc ...
- python 正则匹配字符串里面的字符
import re x=re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest') print(x)
- python 解决抓取网页中的中文显示乱码问题
关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换.还包括一些如日文.韩文 .俄文.藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明. 网络爬虫出现乱码的原因 源网页编码和爬取下来 ...
- Python:删除字符串中的字符
一.删除字符串两端的一种或多种字符 #strip().lstrip().rstrip()方法:(默认删除空格符) A.list.strip(字符):删除字符串两端的一种或多种字符: #例:删除字符串s ...
- Python之数据结构:字符串中的方法
一.过滤字符串 1.strip() (1)去掉行收尾不可见字符 a = ' wejifrow ' print a print a.strip() 结果: wejifrow wejifrow (2)st ...
- python中repr和eval可以用来在数据结构和字符串间互转
在这个功能上,repr和str的作用一样,把一个数据结构转换成字符串,例如: >>> str([1,2,3,4])'[1, 2, 3, 4]' >>> repr([ ...
随机推荐
- Dapper.FastCRUD与Dapper中的CustomPropertyTypeMap冲突
在使用Dapper.NET时,由于生成的实体的属性与数据库表字段不同(如表字段叫USER_NAME,生成的对应的实体属性则为UserName). 这时需要使用Dapper中的CustomPropert ...
- pandas常用方法之read_excel详解
前期准备 准备测试数据如下: fl_path = r"C:\Users\Desktop\test.xlsx" dic = { 'num': ['001', '002', '003' ...
- 2022-04-14内部群每日三题-清辉PMP
1.项目经理资源有限,无法获得更多资源.项目经理应该使用什么技术来充分利用现有资源,而不会令项目完成时间延期? A.资源平滑 B.资源平衡 C.快速跟进 D.赶工 2.正在审查问题日志的项目经理注意到 ...
- 拉取docker容器后启动容器的脚本
我暂且不论如何拉取docker镜像.我使用sudo docker images查看拉取的镜像. 譬如我拉取nvidia的pytorch镜像后,想要创建一个实例或启动某实例,可使用如下脚本(如果本地没有 ...
- Unity WebGL与JS脚本交互
1.Unity调用JavaScript脚本方法 官网文档 老版本方法 之前Unity提供的Application.ExternalCall方法现在已经被设为过时弃用.(但是现在还能用,但是不知道什么时 ...
- linux下nginx的(启动、重启、关闭)
1. 首先利用配置文件启动nginx. 命令: nginx -c /usr/local/nginx/conf/nginx.conf 重启服务: service nginx restart 2. 快速停 ...
- KinectFusion算法论文解读/代码解读随笔
--2021.6.8 上图是kinectfusion的流程图,是整个系统的工作流.我们对上面的流程进行分析以及相关代码的解读,使用的代码库是pcl的Kinectfusion复现.(ps:因为我只在ub ...
- 如何获取传输url后面的参数
function GetRequest(urlStr) {//两种方式,输入链接获取或当前链接获取 if (typeof urlStr == "undefined") { var ...
- openSUSE 播放使用VLC播放视频
openSUSE 使用VLC播放视频 linux视频播放 为什么 通常我们在安装号vlc后,由于版权的原因,是无法获取视频的解码器的.我们需要下载第三方的解码器帮助我们进行解码. 过程如下: 添加pa ...
- 简单a+b
1 # include <stdio.h> 2 3 /*输入两个整数a和b,计算a+b的和 4 注意此题是多组测试数据 */ 5 6 // 我的解法 7 void main(){ 8 in ...