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 相关文章推荐
pygame学习笔记(4):声音控制
Apr 15 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
Jan 20 Python
python+django+sql学生信息管理后台开发
Jan 11 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
Django中的ajax请求
Oct 19 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
python使用pymongo操作mongo的完整步骤
Apr 13 Python
在Python3 numpy中mean和average的区别详解
Aug 24 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 Python
python实现邮件循环自动发件功能
Sep 11 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 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访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
如何将python中的List转化成dictionary
2016/08/15 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
linux 下selenium chrome使用详解
2020/04/02 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
Python类型转换的魔术方法详解
2020/12/23 Python
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
北承题目(C++)
2012/05/16 面试题
小松树教学反思
2014/02/11 职场文书
信息合作协议书
2014/10/09 职场文书
解约证明模板
2015/06/19 职场文书