python基础知识(七)---数据类型补充、"雷区"、编码
数据类型补充、"雷区"、编码
1.数据类型补充
str:
#字符串数据类型补充
s1=str(123) #常用于类型转换
print(s1)
#capitalize()首字母大写
s='abc'
s1=s.capitalize()
print(s1)
#title() 每个单词首字母大写, 需要被隔开
s2=s.title()
print(s2)
#count() 统计某个字符串出现的次数
s3=s.count('s')
print(s3)
#大小写转换
s4=s.swapcase()
print(s4)
#查找
s='alex taibai'
s1=s.find('a') # 从左往右找, 只找到第一个. 查找不到的时候返回 -1
s2=s.index('a') # 查找不到用 ,报错
print(s1,s2)
#center () 字符居中,长度20其他位置以*为填充
s1=s.center(20,'*')
print(s1)
list:
#列表数据类型补充
li=list('123231122114') # 生成列表 ,常用语类型转换
print(li)
#统计
print(li.count('1'))
#反转
li.reverse() # 对列表容器操作
print(li) # 打印列表容器
#排序
li.sort() #升序
print(li)
li.sort(reverse=True) #降序
print(li)
tuple:
# tu=tuple('1234123') # 定义元组 , 常用于数据转换
#统计
a=tu.count('1')
print(a)
#查找
print(tu.index('1'))
dict:
#dict
dic=dict(k=1,k1=2,k2=3) # 一种定义方式
print(dic)
#随机删除
dic1={'k1':'1','k2':'2','k3':'41'}
dic1.popitem() #在python3.6版本 ,默认删除最后一个键值对
print(dic1)
#批量创建字典,fromkeys第一个参数是可迭代对象, 第二个参数是value
#fromkeys 是一个类方法,dict直接调用,生成一个新的字典
dic2=dict.fromkeys('123',[1])
dic2['1'][0]=2 # 此处有深浅拷贝的知识
print(dic2)
set:
#集合
s=set('1234') # 常用语类型转换
print(s)
数据类型转换:
#数据类型转换
###str ---> int #必须是十进制的数字, 字符串中包含小数不能转换成int
s='123'
a=int(s)#必须是数字
###str--->list
li=list(s)
print(li)
s='abc'
print(s.split())
###list-->str
li=['123']
s="".join(li) # join 不能有数字
print(s)
###list ->tuple
li=[1,2,3]
tu=tuple(li)
print(tu)
###tuple--->list
tu = (1,2,3)
li = list(tu)
print(li)
###set-->list
s={1,2,3,4}
print(list(s))
###list-->set
li=[1,2,3]
s=set(li)
print(s)
###数据类型转换总结
- str -->数字 必须是数字
- 数字 --->字符串 ,没要求
- 列表转成字符串 ,join-->可迭代的对象中不能出现数字
- 字符串转成列表 split
- 除字典外 ,容器都数据类型可互相转换
#访问方式:
直接访问: int ,bool,set
顺序访问: list ,tuple,str
通过key dict
2.以后会遇见的坑
删除列表的时候
原因:在循环删除列表的元素,或者下标元素时. 列表内的索引会重新排列,方向从左向右.会导致删除不完全,或者是删的数据错误.
#提供两种方式删除
#方式一 倒着删除 , 从列表最后一个元素开始删除.
#索引值是奇数的删除
li=[1,2,3,4,5]
#方式一 倒着删
for i in range(len(li)-1,-1,-1):
if i %2==1:
li.pop(i)
print(li)
#方式二 引入新的列表, 循环新列表删除旧列表中的元素
li=[1,2,3,4,5]
new_line=[] # 新列表
for i in li:
if i%2==0:
print(i)
new_line.append(i)
for j in new_line:
li.remove(j)
print(li)
#推荐删除方式
dic={'a':'a','b':'b','c':'c'}
new_line=[]
for el in dic:
if el=='a':
new_line.append(el)
for el2 in new_line:
dic.pop(el2)
print(dic)
字典for的时候怎么删除键值对
原因:字典在循环遍历的时候不允许添加和删除,只能修改
#字典遍历中去删除
dic={'a':'a','b':'b','c':'c'}
for el in dic:
dic.pop(el) # 删除
dic['v']='v' # 添加
print(el)
#
python基础知识(七)---数据类型补充、"雷区"、编码的更多相关文章
- python基础知识之数据类型
一.与用户的交互 古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他, 然后他去进行验证,成功后,我们再将取款金额输入/告诉他 骄傲的现代人,会为客户提供一台ATM机(就是一 ...
- python基础知识16---函数补充
一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...
- python基础知识 变量 数据类型 if判断
cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 飞机 内存:暂时存储一些数据,临时加载数据和应用程序 4G 8G 16G 32G 速度快,高铁 断电即消失 造价高 硬盘 ...
- Python之路【第三篇】python基础 之基本数据类型 补充
字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-310 ...
- python基础知识七
我们会使用raw_input和print语句来完成这些功能. 对于输出,也可以使用多种多样的str(字符串)类. 例如使用rjust方法来得到一个按一定宽度右对齐的字符串. 可以通过创建一个file类 ...
- 第二章(1.5)Python基础知识(数据类型)
一.list(列表) list是一种有序的集合,可以随时添加和删除其中的元素 用len()函数可以获得list元素的个数 列表操作包含以下函数: cmp(list1, list2):比较两个列表的元素 ...
- Python基础知识详解 从入门到精通(七)类与对象
本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
随机推荐
- 【Beta】发布说明
再次号外!Visual Pytorch第二个版本上线了! 目前的网址在这里(http://114.115.151.39/) 哦 有关上一版本的功能介绍说明请参考博客:Visual Pytorch -- ...
- Pandas 与 Numpy 常用方法总结
Lambda 函数实现 简单的说,lambda 就是一个函数,但是这个函数没有名字,所以我们介绍一下这个函数的调用形式,参数与返回值的实现. lambda 的格式如下: lambda [arg1 [, ...
- js - try..catch详解
try... catch 1.try...catch和if语句 为什么不用if替换调try...catch? 大部分人都有这样想法 if=>只能判断用户操作 try...catch=>来自 ...
- 我的node-webkit笔记
话不多说,直接上码: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...
- 阻止Bootstrap 模态框点击背景空白处自动关闭
问题描述 模态框点击空白处,会自动关闭,怎么阻止关闭事件呢? 解决方法 在HTML页面中编写模态框时,在div初始化时添加属性 aria-hidden=”true” data-backdrop=”st ...
- MQTT研究之EMQ:【CoAP协议应用开发】
本博文的重点是尝试CoAP协议的应用开发,其中包含CoAP协议中一个重要的开源工具libcoap的安装和遇到的问题调研.当然,为了很好的将EMQ的CoAP协议网关用起来,也调研了下EMQ体系下,CoA ...
- Tesserac初探
安装Tesseract Windows 系统 下载可执行安装文件https://code.google.com/p/tesseract-ocr/downloads/list安装.或者https://d ...
- Python 使用 win32com 模块对 word 文件进行操作
what's the win32com 模块 win32com 模块主要为 Python 提供调用 windows 底层组件对 word .Excel.PPT 等进行操作的功能,只能在 Windows ...
- EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案安装使用常见问题的分析
EasyNVR对于互联网的视频直播还是有着一定的贡献的.为了方便用户的体验使用,我们也在互联网上放置了对应的试用版本,并且也会随着功能是更新也会定期的更新上去.软件包也会配置对应的使用文档和说明. 许 ...
- ThinkPHP 中入口文件中的APP_DEBUG为TRUE时不报错,改为FALSE时报错
今天好不容易将一个新闻网做好了(ThinkPHP框架做的),但是,当我将入口文件中定义调试模式设为FALSE,即define('APP_DEBUG',False),然后再刷新网站的时候,就提示报错,报 ...