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 相关文章推荐
跟老齐学Python之模块的加载
Oct 24 Python
通过源码分析Python中的切片赋值
May 08 Python
用tensorflow实现弹性网络回归算法
Jan 09 Python
python 信息同时输出到控制台与文件的实例讲解
May 11 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
python构建指数平滑预测模型示例
Nov 21 Python
python wxpython 实现界面跳转功能
Dec 17 Python
Python for循环与getitem的关系详解
Jan 02 Python
Python continue语句实例用法
Feb 06 Python
Python替换NumPy数组中大于某个值的所有元素实例
Jun 08 Python
详解python中的闭包
Sep 07 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
AngularJS入门之动画
2016/07/27 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
python中sys.argv函数精简概括
2018/07/08 Python
Python中一般处理中文的几种方法
2019/03/06 Python
python中return的返回和执行实例
2019/12/24 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
医学院毕业生自荐信范文
2014/03/06 职场文书
工地安全生产标语
2014/06/06 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书