# 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_递归的更多相关文章

  1. python数据结构-如何为元组中的每个元素命名

    如何为元组中的每个元素命名 简述 当对象数据格式固定时,用元组比列表更节省内存空间, 我们使用索引访问元组元素,但是这种访问方式会降低程序的可读性. 举个栗子 对于学生的信息,我们有固定的数据格式,我 ...

  2. python数据结构-如何统计序列中元素的频度

    如何统计序列中元素的频度 问题举例 如何找出随机序列[1, 5, 6, 5, 3, 2, 1, 0, 6, 1, 6]中出现频度最高的3个元素? 如何统计某篇英文文章中词频最高的5个单词? 将序列转换 ...

  3. python数据结构-如何根据字典中值的大小对字典项排序

    如何根据字典中值的大小对字典项排序 问题举例 某班英语成绩以字典形式存储,如何根据成绩高低,计算学生成绩排名 { “tom”:80, "lily":88, "marton ...

  4. 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 ...

  5. python 判断列表字符串元素首尾字符是否相同

    def match_words(words): ctr = for word in words: and word[] == word[-]: ctr += return ctr print(matc ...

  6. python 正则匹配字符串里面的字符

    import re x=re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest') print(x)

  7. python 解决抓取网页中的中文显示乱码问题

    关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换.还包括一些如日文.韩文 .俄文.藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明. 网络爬虫出现乱码的原因 源网页编码和爬取下来 ...

  8. Python:删除字符串中的字符

    一.删除字符串两端的一种或多种字符 #strip().lstrip().rstrip()方法:(默认删除空格符) A.list.strip(字符):删除字符串两端的一种或多种字符: #例:删除字符串s ...

  9. Python之数据结构:字符串中的方法

    一.过滤字符串 1.strip() (1)去掉行收尾不可见字符 a = ' wejifrow ' print a print a.strip() 结果: wejifrow wejifrow (2)st ...

  10. python中repr和eval可以用来在数据结构和字符串间互转

    在这个功能上,repr和str的作用一样,把一个数据结构转换成字符串,例如: >>> str([1,2,3,4])'[1, 2, 3, 4]' >>> repr([ ...

随机推荐

  1. 简单的js hook

    // ==UserScript== // @name ethereum request // @namespace http://tampermonkey.net/ // @version 0.1 / ...

  2. Python中的容器、迭代器、生成器

    容器是一系列元素的集合,str.list.set.dict.file.sockets对象都可以看作是容器,容器都可以被迭代(用在for,while等语句中),因此他们被称为可迭代对象. 可迭代对象实现 ...

  3. Java流程控制练习

    练习 打印三角形及Debug的使用 public class TestDemo { public static void main(String[] args) { //打印三角形 5行 for(in ...

  4. TypeScript 元组

    TypeScript 元组 我们知道数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组. 元组中允许存储不同类型的元素,元组可以作为参数传 ...

  5. openwrt从gitee pull代码并编译go项目

    安装ssh opkg update # openssh-keygen 可以用来生产密钥 opkg install openssh-keygen # 连接其他服务器 opkg install opens ...

  6. 解决通配符的匹配很全面, 但无法找到元素 'aop:config' 的声明

    这是因为在applicationContext.xml文件中没有添加对应的地址 http://www.springframework.org/schema/aop http://www.springf ...

  7. Nebula Exchange与集群guava版本不一致问题

    1.集群版本 Hadoop 3.1.1.3.1.4.0-315 Hive (version 3.1.0.3.1.4.0-315) Spark 2.3.2.3.1.4.0-315 Scala versi ...

  8. 【2020NOI.AC省选模拟#7】C. 逃课

    题目链接 原题解: 我们需要找出两个距离不超过$k-1$的位置,使他们的和尽量大. 被修改过得位置比较少,所以我们可以先求出连个位置都没有被修改过的答案,然后只关心那些涉及到至少一个被修改过的位置的方 ...

  9. java jdk8安装之后java -version失败

    将此目录下的(C:\Program Files (x86)\Common Files\Oracle\Java\javapath_target_86850671)三个.exe文件删除即可!

  10. idea常用快捷键记录

    实用编写代码辅助快捷键 Ctrl+Alt+V 提出选中内容为局部变量 Ctrl+Backspace 按单词删除 Ctrl+D 复制行 Ctrl+Y 删除当前行 Ctr+Shift+U 大小写转化 Sh ...