Python之路Day07
基础数据类型补充
str
- s.capitalize() -- 首字母大写
- s.title() -- 每个单词首字母大写
- s.swapcase() -- 大小写转换
- s.center() -- 居中/填充
- s.center(20,'*')
- s.find() -- 通过元素查找索引,查找不到时返回-1
- s.index() -- 通过元素查找索引,查找不到时报错
- s.join() --
- print('_'.join(['1','2','3'])) 拼接,将列表转换成字符串
- str+str
- str*5
- 字符串加,乘都是开辟新空间
list
列表定义
- print(list('12345'))
列表方法
- lst=[1,2,3,4,5,7,8]
- print(lst.index(4)) -- 通过元素查找索引
- lst.sort() -- 排序,默认升序
- lst.sort(reverse=True) -- 降序
- lst.reverse() -- 反转
- lst[::-1] -- 切片反转不修改原数据
列表的加
lst=[1,2,3,4]
lst=lst+[1,2,3]
print(lst)
列表的乘
lst=[1,2,3]*5
print(lst)
print(id(lst[0]),id(lst[3]))
lst=[1,[]]*5
print(lst)
lst[1].append(6)
print(lst)
- 面试题:列表乘法时,元素是共用的
tuple
tu=(1,)
元组的加
tu=(1,2,3)+(1,2,3)
print(tu)
元组的乘
tu=(1,[])*3
print(tu)
tu[-1].append(10)
print(tu)
dict
dic={'key':1,'key1':2,'key2':3}
print(dic.popitem()) #随机删除 python3.6版删除最后一个键值对
- popitem返回的是被删除的键值对
dic={}
dic.fromkeys('abc',[]) #批量创建键值对'a':[],'b':[],'c':[]
print(dic) #面试题
dic={}
dic=dic.fromkeys('abc',[])
print(dic)
dic['b']=11
dic['a'].append(10)
print(dic)
fromkeys 第一个参数必须是可迭代对象,会将可迭代对象进行迭代,成为字典的键,第二个参数是值(这个值是共用的)
fromkeys 共用的值是可变数据类型就会有坑(有一个键值对进行修改,其他键值对都跟着修改),不可变数据类型就没事
基础数据类型总结
可变不可变
- 可变:list、dict、set
- 不可变:int、str、bool、tuple
有序无序
- 有序:list、tuple、str
- 无序:dict、set
取值方式
- 索引
- 键
- 直接
数据类型转换
- 重要
- str -- list
- list -- str
重点
- find
- join
- 列表乘法
- 元组(1,)
- 元组乘法
- list -- str
- str -- list
以后会遇到的坑
列表
lst=[1,2,3]
for i in lst:
lst.append[4]
print(lst) #死循环lst=[11,22,33,44]
for i in lst:
lst.remove(i)
print(lst) #列表的自动补位使用for循环清空列表元素内容:
- 从后向前删除
- 创建一个新的容器,循环新的容器删除旧的容器内容
lst=[1,[2]]
lst[1]=lst
print(lst)
结果:[1,[...]] #面试题
字典与集合
- 字典和集合在遍历时(循环)不能修改原来的大小(字典的长度),可以修改值
二次编码
- 字节:存储和传输
- s.encode() -- 编码
- s.decode() -- 解码
- 必会
- python 2 中默认编码ASCII,不支持中文
- python 3 中默认编码Unicode
Python之路Day07的更多相关文章
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- Python之路
Python学习之路 第一天 Python之路,Day1 - Python基础1介绍.基本语法.流程控制 第一天作业第二天 Python之路,Day2 - Pytho ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Python之路【第十五篇】:Web框架
Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...
- Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...
随机推荐
- comTest.json文件中内容,被NewsList.vue文件引入
本文目标:就是把扩散名为.json文件中数据,传递给NewsList.vue文件.主要通过导出,并传递给data(){}变紧 新建文件名为:commTest.json { "schoolNa ...
- 第十届蓝桥杯CB题目I-分析
思路分析://感谢写文博主 思路:相信大多数人和我一样在比赛的时候把这题想的太简单了_(:з」∠)_ 这题和去年的最后一题很类似,就是分类讨论,去年放在了最后一题,今年在倒数第二题,说明难度不算太难, ...
- 自然语言处理(1)-HMM隐马尔科夫模型基础概念(一)
隐马尔科夫模型HMM 序言 文本序列标注是自然语言处理中非常重要的一环,我先接触到的是CRF(条件随机场模型)用于解决相关问题,因此希望能够对CRF有一个全面的理解,但是由于在学习过程中发现一个算法像 ...
- 深度优先搜索DFS---求出矩阵中“块”的个数。
题目: 给出一个 m x n 的矩阵,矩阵中的元素为0或1.如果矩阵中有若干个 1是相邻的,那么称这些1构成了一个“块”.求给定的矩阵中“块”的个数. 0 0 0 0 0 0 0 0 0 0 0 0 ...
- Win10安装.net2.0/3.0
Windows 安装.net2.0/3.0 将下列代码拷到本地bat文件中(bat文件和sxs文件夹同级),下载适用的.net安装包版本后放置到sxs文件夹,用管理员权限执行bat文件即可. @ech ...
- 理财收益的计算 计算浮点数的n次方 1466
题目描述 老傻非常喜欢购买理财产品,而且这款理财产品被推销人员吹得特别高,对于贪财的老傻来说正中下怀,于是在心里盘算着买了它,自己就是亿万富豪,现需要你编写一个程序,帮老傻计算其收益,老傻的投入是R( ...
- jQuery笔记(六)jQuery之Ajax
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对 ...
- Deepin Linux下安装安卓应用的各种方式
没事啥折腾 Deepin Linux 的应用商店里集成了挺多安卓应用 , 没有的就只能自己想办法了. 我主要使用这几个app , 飞书,邮箱大师,还有一些公司内部app. 网上 搜索了一下 ,有以下几 ...
- idea插件不兼容问题
https://plugins.jetbrains.com/ 找对应版本的插件
- javascript 问题汇总(1)
1 jquery ajax提交有参数的请求,提示错误“Unsupported Media Type“ 解决:ajax 设置添加 contentType: "application/j ...