python中列表、字典和字符串的互相转换
我们在python使用中经常会用到需要把字符串转为list或者字典,及把list或字典转为字符串(写文件,f.write()只能写字符串,插入数据库时,也只能用字符串)
具体使用方法总结了一下:
1、字符串转list
s = 'a,b,c' l = s.split(',') #把字符串s以逗号分割,分割出的list给到l
2、list转字符串
第一种方法:join
l1 = ['a', 'b', 'c'] str = ''.join(l1) #把list中的元素以空联合到一起,反回的字符串给到str str = 'abc' str1 = ','.join(l1) #把list中的元素以逗号联合到一起,反回的字符串给到str1 str1 = 'a,b,c'
第二种方法:json.dumps()
l1 = ['a', 'b', 'c'] str = json.dumps(l1) #把list直接转为字符串 str = '['a', 'b', 'c']'
3、字符串转字典
先import一个json模块
import json json_str = '{"name":"xiaohei","age":18}' dic = json.loads(json_str) # dic = {"name":"xiaohei","age":18}
4、字典转为字符串
同样先import一个json模块
import json d={"name":"xiaohei","age":18} json_str2 = json.dumps(d) #把字典、list转为字符串 json_str2 = '{"name":"xiaohei","age":18}'
5、dumps 中的两个参数 ensure_ascii 和 indent
d={"name":"xiaohei","age":18,"add":"北京市海淀区"} json_str2 = json.dumps(d,ensure_ascii = False,indent = 4) #ensure_ascii = False:字典中有中文的话,不把中文转译成ascii码,indent=4:格式化json,并缩进4位
扩展问题:
1、dump:把字典写到文件中
import json d = { "id": 314, "name": "矿泉水", "sex": "男", "age": 18, "addr": "北京市昌平区", "grade": "摩羯座", "phone": "18317155663", "gold": 405 } with open('lpp.json','w',encoding='utf-8') as f: json.dump(d,f,ensure_ascii=False,indent=4)
2、load:读文件,结果为字典格式
import json with open('aaa.json','r',encoding='utf-8') as f: resulut = json.load(f)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类