python数据转换
总结
'''
1:数字类型:算术运算
bool:判断真假,运用场景在逻辑运算里较多,比如while循环了。
字符串:可以索引取值,可以嵌套
列表:存放任意数据类型,因为是按序存放的,故可以索引取值,
字典:可以理解为某种意义上的列表,但区别是存放是无序的,故存放效率高,另外会对数据进行描叙性表述,故取值时是按key来取值的
元组:给看不给“改”的列表
集合:对数据去重
2:数字类型和字符串转化 int,float,str,
列表转字符串: ''.join() 不分开 | 'x'.join()==>以x隔开,
字符串转列表: res.split() 默认按格式拆 res.split(x) x属于res,则去掉x,两边开
list与tuple、set直接相互转化 参考数字和字符串格式
str与tuple、set之间转化通过list转化
3:utf-8在传输过程中运用,理解为压缩包比较好,传输快 utf-16 字节固定,读取内容快 数字类型之间的转化
主要关注两个用法
join 组合 用于 列表转为字符串
split 拆分 字符串和列表都可以使用
字典与其他之间的转化 间接转化
'''
# 转化为数字类型
res = int('10') # 字符串转化为数字
print(res)
res = int('-3')
print(res)
res = float('.15')
print(res) # 0.15
res = float('-.15')
print(res) # -015
res = float('-3.15')
print(res) # -3.15
# 3:字符串与列表相互转换 ******
s = 'abc123呵呵'
print(list(s)) # ['a', 'b', 'c', '1', '2', '3', '呵', '呵'] 字符串转列表
ls = ['a', 'b', 'c', '1', '2', '3', '呵', '呵']
n_s = '.'.join(ls) # 列表转字符串 ''.join()
print(n_s) # a.b.c.1.2.3.呵.呵
#
s = 'abc123呵呵'
print(list(s)) # ['a', 'b', 'c', '1', '2', '3', '呵', '呵']
ls = ['a', 'b', 'c', '1', '2', '3', '呵', '呵']
n_s = ''.join(ls) # 这是没有点号的显示
print(n_s) # abc123呵呵 这是没有点号的显示,点好也可以转换为其他
#
s1 = 'a b c 1 2 3 呵 呵'
res = s1.split() # 把字符串转化为列表 默认按空格拆
print(res) # ['a', 'b', 'c', '1', '2', '3', '呵', '呵']
# # 必须掌握
s2 = 'ie=UTF-8&wd=你好帅'
res = s2.split('&') # 字符串改列表
print(res) # ['ie=UTF-8', 'wd=你好帅'] split默认按空格来隔开,s2.split('&')则是把&两边分开为列表,中间可以是其他的,
# 比如- 或8,只要是在s2里就行 ls2 = ['ie=UTF-8', 'wd=你好帅']
n_s2 = '@'.join(ls2)
print(n_s2) # ie=UTF-8@wd=你好帅 ''.join() 中''可以加其他的 比如@ 或4 则列表组合中间多一个其他 # 4:需求:"ie=UTF-8&wd=你好帅" => [('ie', 'UTF-8'), ('wd', '你好帅')]
res = []
s4 = "ie=UTF-8&wd=你好帅"
ls4 = s4.split('&') # ['ie=UTF-8', 'wd=你好帅']
for ele in ls4: # v = ie=UTF-8 | wd=你好帅 for 循环把每个值取出来
k, v = ele.split('=') # k: ie v: UTF-8 赋值 k ,v = ele.split('=')
res.append((k, v))
print(res)
# 5.需求:"ie=UTF-8&wd=你好帅" => {'ie': 'UTF-8', 'wd': '你好帅'}
res = {}
s5 = "ie=UTF-8&wd=你好帅"
ls5 = s5.split('&') # ['ie=UTF-8', 'wd=你好帅']
for ele in ls5:
k, v = ele.split('=') # 去掉 =
res[k] = v # 添加字典的模式 res[k] = v 如果字典中res,有k这个,则把值v赋值给k,如果没有,则在字典中添加k:v
print(res) # {'ie': 'UTF-8', 'wd': '你好帅'} # 6.需求:[('ie', 'UTF-8'), ('wd', '你好帅')] => {'ie': 'UTF-8', 'wd': '你好帅'}
res = {} # 建立新的空字典
ls6 = [('ie', 'UTF-8'), ('wd', '你好帅')]
for k, v in ls6:
res[k] = v
print(res)
# 7.list与tuple、set直接相互转化 - 直接 类型()
# 8.需求:将汉字转化为数字
# 将 壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟
# 转化为 1、2、3、4、5、6、7、8、9、10、100、100
# 作业:壹仟捌佰玖拾叁 => 1893 num_map = {
'壹': 1,
'贰': 2,
'仟': 1000
}
ls8 = ['贰', '壹', '仟']
res = []
for v in ls8:
num = num_map[v] # 通过key去映射表拿到对应的值,完成 '贰' => 2
res.append(num)
print(res)
python数据转换的更多相关文章
- python数据转换工具Into
转:http://python.jobbole.com/81564/ 再次介绍Into包:整洁地数据迁移 2015/03/12 · 基础知识 · into, 数据迁移 分享到:3 本文由 伯乐在线 ...
- 中标麒麟(linux)下Qt调用python数据转换
转自:https://blog.csdn.net/itas109/article/details/78733478 mytest.py文件 # -*- coding: utf-8 -*- def he ...
- 【Python】python和json数据相互转换,json读取和写入,repr和eval()使用
python数据转换json 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import jso ...
- Python: Json串反序列化为自定义类对象
最近刚接触到python,就想到了如何反序列化json串.网上找了一下,大部分都是用json模块反序列化为python数据结构(字典和列表).如果对json模块不了解的参考菜鸟教程.然后我在此基础上将 ...
- python中json与pickle的简要说明
import json ======> 注意:不同语言之间通用但不能传输对象类型 该模块中最重要的方法: 1.json.dump(‘python数据’,‘json文件’) # 将pyt ...
- Python连载47-json文件、正则表达式初步
一.在线工具 1.https://www.sojson.com/ 2.http://www.w3cshool.com.cn/json/ 3.http://www.runoob.com/json/jso ...
- Python中json.dump与repr的区别
Json是一种轻量级的数据交换格式,Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: 引入json包: import json json.dumps(): ...
- Python基础之模块:3、os模块 sys模块 json模块 json实战
目录 一.os模块 1.创建目录 2.删除目录 3.查看指定路径下目录内容 4.删除/重命名文件 5.获取/切换当前目录 6.动态获取项目根路径 7.拼接/切割路径 8.判断文件.目录是否存在 9.判 ...
- requests库入门06-post请求
示例相应的接口文档:GitHub邮箱接口文档 先登录GitHub,然后右上角用户下拉框中选择settings,然后选Emails.可以看到当前账户设置的邮箱情况 再看添加邮箱接口的文档描述,可以通过一 ...
随机推荐
- 什么是CDN
1.什么是cdn cdn全称是内容分发网络.其目的是让用户能够更快速的得到请求的数据.简单来讲,cdn就是用来加速的,他能让用户就近访问数据,这样就更更快的获取到需要的数据.举个例子,现在服务器 ...
- windows cmd下netstat查看占用端口号的进程和程序
其实很简单,大家可以在cmd窗口 C:\Documents and Settings\Administrator>netstat -help 显示协议统计信息和当前 TCP/IP 网络连接. N ...
- VSTO外接程序项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【C#版】
VSTO中的自定义功能区和自定义任务窗格需要用到各种命名空间.添加所需文件,才能实现.后来我发现可以把所有代码都写在ThisAddin.cs这个默认文件中. 大家可以在Visual Studio中创建 ...
- 66)PHP,会话技术
其实刷新(F5)就是一个新的请求. 会话技术的实现:1.Cookie 2.Session(其实cookie能做的,session也能做.session能做的,cookie也能做.就是cookie ...
- 系统学习javaweb重点难点1--如何区分<input/>框里的三种常用属性:type属性 name属性 和 value属性
感想:这是我系统学习javaweb的时候感觉这个是一个初学者十分容易搞混的点 学习笔记: 首先,是type属性. 表单输入项标签之一,用户可以在该标签上通过填写和选择进行数据输入. type属性设置该 ...
- Reading
Reading一共18min 需要背诵专业学科分类的词汇. 单词上,背四级词汇和托福词汇,达到约1w词汇. 句子上,练习速度和用词准确,其中准确包括含义准确和语序准确.
- Tarjan模板——求强连通分量
Tarjan求强连通分量的流程在这个博客讲的很清楚,再加上我也没理解透,这里就不写了. 缩点:将同一个连通块内的点视为同一个点. 扔一道模板题:codeVS2822爱在心中 第一问很显然就是求点数大于 ...
- Spring常见的两种增强方式
一.编程式增强 不借助spring的配置,通过自己实例化对象来实现的增强方式 创建增强类,需要实现你需要的增强接口,(只有实现了该接口,这个类就是一个通知)) /** * 增强类 */ public ...
- Qt static关键字全局变量
创建全局变量.h文件 globalvariable.h #ifndef GLOBALVARIABLE_H #define GLOBALVARIABLE_H #include <QImage> ...
- Adam项目展示微软研究院人工智能领域新突破
编者按:在美国时间7月14日举行的2014年微软教育峰会上,Adam项目面对牵上台的3只小狗,一一准确地报出了它们的品种.Adam项目代表了微软研究院在机器学习和人工智能领域的前沿进展.它可不仅仅认得 ...