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进阶教程之循环对象
Aug 30 Python
python获取本机mac地址和ip地址的方法
Apr 29 Python
Python的Django框架中从url中捕捉文本的方法
Jul 20 Python
Django与遗留的数据库整合的方法指南
Jul 24 Python
深入理解Python中变量赋值的问题
Jan 12 Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
Dec 17 Python
numpy concatenate数组拼接方法示例介绍
May 27 Python
Python3 itchat实现微信定时发送群消息的实例代码
Jul 12 Python
Python+appium框架原生代码实现App自动化测试详解
Mar 06 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
Aug 03 Python
python使用列表的最佳方案
Aug 12 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
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
php 面向对象的一个例子
2011/04/12 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
php小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
js常用代码段收集
2011/10/28 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
详解如何使用webpack打包多页jquery项目
2019/02/01 jQuery
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
院领导写的就业推荐信
2014/03/09 职场文书
金融保险专业求职信
2014/09/03 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
法人授权委托书样本
2014/09/19 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
Django实现聊天机器人
2021/05/31 Python
DBCA命令行搭建Oracle ADG的流程
2021/06/11 Oracle