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 相关文章推荐
centos 下面安装python2.7 +pip +mysqld
Nov 18 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
Python文件和流(实例讲解)
Sep 12 Python
Python使用pickle模块存储数据报错解决示例代码
Jan 26 Python
python 编码规范整理
May 05 Python
Django进阶之CSRF的解决
Aug 01 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
解决python文件双击运行秒退的问题
Jun 24 Python
python 实现Flask中返回图片流给前端展示
Jan 09 Python
keras 权重保存和权重载入方式
May 21 Python
通俗讲解python 装饰器
Sep 07 Python
python 中yaml文件用法大全
Jul 04 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
php轻松实现文件上传功能
2016/03/03 PHP
nginx下安装php7+php5
2016/07/31 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
Javascript Select操作大集合
2009/05/26 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
js常用代码段收集
2011/10/28 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
文字垂直滚动之javascript代码
2015/07/29 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
webpack 2的react开发配置实例代码
2017/07/28 Javascript
理解javascript async的用法
2017/08/22 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
Python Pillow(PIL)库的用法详解
2020/09/19 Python
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
毕业生自荐书模版
2014/01/04 职场文书
辩论赛主持词
2014/03/18 职场文书
分公司负责人任命书
2014/06/04 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
Elasticsearch 配置详解
2022/04/19 Java/Android
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android