python实现字符串和字典的转换


Posted in Python onSeptember 29, 2018

一、把一个字符串的内容提取出来,并放到字典中

流程如下:

1、得到字符串s,通过分割提取得到s1(是个列表)
s=”name=lyy&age=3&sex=women&boyfriend=czt”

2、需要再对s1进行拆分,此时s1只有4个元素,对s1进行遍历,拿到类似“name=lyy”的字符串,即s2

3、同样通过分割把s2分割成s3列表

4、s3为[name,lyy],即为字典的键和值赋值,键=s3[0],值=s3[1]

代码如下:

# -*- coding: utf-8 -*-

s="name=lyy&age=3&sex=women&boyfriend=czt"
d={

}

s1=s.split("&")
# print s1
for i in xrange(4):
  s2=s1[i]
#  print s2
  s3=s2.split("=")
  print s3
  key=s3[0]
  value=s3[1]
  d[key]=value
print d

改进代码,改进之处——直接使用s2 in s1执行遍历

# -*- coding: utf-8 -*-

s="name=lyy&age=3&sex=women&boyfriend=czt"
d={

}

s1=s.split("&")
# print s1
for s2 in s1:
  s3=s2.split("=")
  print s3
  key=s3[0]
  value=s3[1]
  d[key]=value
  print d

二、把一个字典中的内容提取出来,并存储为字符串

流程如下:

1、把字典中的项目取出来,使用items方法,使得字典的键值对变成列表s1的每一个元素,s1是列表

2、遍历s1的每一个元素,先需要读取每一个元素的键和值,即key=s1[0],value=s1[2]

3、这时key和value分别都是字符串,用“=”连接起来

4、把每一个等式连接起来使用到append方法,创建列表存储每次连接好的等式

5、使用列表的join方法,把“&”插入列表中

# -*- coding: utf-8 -*-

d={'age': '3', 'boyfriend': 'czt', 'name': 'lyy', 'sex': 'women'}
s1=d.items()
lst=[]
print s1
for i in xrange(4):
  s2=s1[i]
  print s2
  key=s2[0]
  value=s2[1]
  print key
  print value
  s3=key+"="+value
  print s3
  lst.append(s3)
print lst
print "&".join(lst)

同样简化步骤,循环内语句这样写:

for s2 in s1:
  key=s2[0]
  value=s2[1]
  s3=key+"="+value
  lst.append(s3)

s2里面对应就是两个元素,简化:

for s2 in s1:
  key,value=s2
  s3=key+"="+value
  lst.append(s3)

发现s2同样可以省略,但是上述的key和value连接依赖s2,可用格式化成字符串输出来摆脱这种依赖,简化如下

# -*- coding: utf-8 -*-

d={'age': '3', 'boyfriend': 'czt', 'name': 'lyy', 'sex': 'women'}
s1=d.items()
lst=[]
for key,value in s1:
  s3="%s=%s"%(key,value)
  lst.append(s3)
print "&".join(lst)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pyqt4教程之messagebox使用示例分享
Mar 07 Python
Python Django使用forms来实现评论功能
Aug 17 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
Apr 18 Python
django 自定义filter 判断if var in list的例子
Aug 20 Python
python实现人工智能Ai抠图功能
Sep 05 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
Python socket实现的文件下载器功能示例
Nov 15 Python
pytorch实现focal loss的两种方式小结
Jan 02 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
python中watchdog文件监控与检测上传功能
Oct 30 Python
python爬虫请求头的使用
Dec 01 Python
python实现字符串中字符分类及个数统计
Sep 28 #Python
python中使用zip函数出现错误的原因
Sep 28 #Python
python中的for循环
Sep 28 #Python
Django migrations 默认目录修改的方法教程
Sep 28 #Python
python数据结构之线性表的顺序存储结构
Sep 28 #Python
python实现顺序表的简单代码
Sep 28 #Python
linux安装Python3.4.2的操作方法
Sep 28 #Python
You might like
php中url函数介绍及使用示例
2014/02/13 PHP
详解php与ethereum客户端交互
2018/04/28 PHP
PHP中的self关键字详解
2019/06/23 PHP
Jquery Change与bind事件代码
2011/09/29 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
js的三种继承方式详解
2017/01/21 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
vue实现标签云效果的示例
2020/11/09 Javascript
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
Farnell德国:电子元器件供应商
2018/07/10 全球购物
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
犯错检讨书
2014/02/21 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
2015年信访工作总结
2015/04/07 职场文书
工程合作意向书范本
2015/05/09 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers