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系列之新版本导入httplib模块报ImportError解决方案
May 23 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
python对象及面向对象技术详解
Jul 19 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
Jun 01 Python
Django之腾讯云短信的实现
Jun 12 Python
如何让python的运行速度得到提升
Jul 08 Python
最新pycharm安装教程
Nov 18 Python
Python Socket编程详解
Apr 25 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拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
javascript常见用法总结
2014/05/22 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
解决vue 打包发布去#和页面空白的问题
2018/09/04 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
Python中的id()函数指的什么
2017/10/17 Python
简单了解python模块概念
2018/01/11 Python
python文件写入write()的操作
2019/05/14 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
如何基于python测量代码运行时间
2019/12/25 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
主管职责范文
2013/11/09 职场文书
特色蛋糕店创业计划书
2014/01/28 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
拆迁委托协议书
2014/09/15 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android