数据类型补充、"雷区"、编码

1.数据类型补充

str:
  1. #字符串数据类型补充
  2. s1=str(123) #常用于类型转换
  3. print(s1)
  4. #capitalize()首字母大写
  5. s='abc'
  6. s1=s.capitalize()
  7. print(s1)
  8. #title() 每个单词首字母大写, 需要被隔开
  9. s2=s.title()
  10. print(s2)
  11. #count() 统计某个字符串出现的次数
  12. s3=s.count('s')
  13. print(s3)
  14. #大小写转换
  15. s4=s.swapcase()
  16. print(s4)
  17. #查找
  18. s='alex taibai'
  19. s1=s.find('a') # 从左往右找, 只找到第一个. 查找不到的时候返回 -1
  20. s2=s.index('a') # 查找不到用 ,报错
  21. print(s1,s2)
  22. #center () 字符居中,长度20其他位置以*为填充
  23. s1=s.center(20,'*')
  24. print(s1)
list:
  1. #列表数据类型补充
  2. li=list('123231122114') # 生成列表 ,常用语类型转换
  3. print(li)
  4. #统计
  5. print(li.count('1'))
  6. #反转
  7. li.reverse() # 对列表容器操作
  8. print(li) # 打印列表容器
  9. #排序
  10. li.sort() #升序
  11. print(li)
  12. li.sort(reverse=True) #降序
  13. print(li)
tuple:
  1. # tu=tuple('1234123') # 定义元组 , 常用于数据转换
  2. #统计
  3. a=tu.count('1')
  4. print(a)
  5. #查找
  6. print(tu.index('1'))
dict:
  1. #dict
  2. dic=dict(k=1,k1=2,k2=3) # 一种定义方式
  3. print(dic)
  4. #随机删除
  5. dic1={'k1':'1','k2':'2','k3':'41'}
  6. dic1.popitem() #在python3.6版本 ,默认删除最后一个键值对
  7. print(dic1)
  8. #批量创建字典,fromkeys第一个参数是可迭代对象, 第二个参数是value
  9. #fromkeys 是一个类方法,dict直接调用,生成一个新的字典
  10. dic2=dict.fromkeys('123',[1])
  11. dic2['1'][0]=2 # 此处有深浅拷贝的知识
  12. print(dic2)
set:
  1. #集合
  2. s=set('1234') # 常用语类型转换
  3. print(s)
数据类型转换:
  1. #数据类型转换
  2. ###str ---> int #必须是十进制的数字, 字符串中包含小数不能转换成int
  3. s='123'
  4. a=int(s)#必须是数字
  5. ###str--->list
  6. li=list(s)
  7. print(li)
  8. s='abc'
  9. print(s.split())
  10. ###list-->str
  11. li=['123']
  12. s="".join(li) # join 不能有数字
  13. print(s)
  14. ###list ->tuple
  15. li=[1,2,3]
  16. tu=tuple(li)
  17. print(tu)
  18. ###tuple--->list
  19. tu = (1,2,3)
  20. li = list(tu)
  21. print(li)
  22. ###set-->list
  23. s={1,2,3,4}
  24. print(list(s))
  25. ###list-->set
  26. li=[1,2,3]
  27. s=set(li)
  28. print(s)

###数据类型转换总结

  1. str -->数字 必须是数字
  2. 数字 --->字符串 ,没要求
  3. 列表转成字符串 ,join-->可迭代的对象中不能出现数字
  4. 字符串转成列表 split
  5. 除字典外 ,容器都数据类型可互相转换

#访问方式:

​ 直接访问: int ,bool,set

​ 顺序访问: list ,tuple,str

​ 通过key dict

2.以后会遇见的坑

删除列表的时候

​ 原因:在循环删除列表的元素,或者下标元素时. 列表内的索引会重新排列,方向从左向右.会导致删除不完全,或者是删的数据错误.

  1. #提供两种方式删除
  2. #方式一 倒着删除 , 从列表最后一个元素开始删除.
  3. #索引值是奇数的删除
  4. li=[1,2,3,4,5]
  5. #方式一 倒着删
  6. for i in range(len(li)-1,-1,-1):
  7. if i %2==1:
  8. li.pop(i)
  9. print(li)
  10. #方式二 引入新的列表, 循环新列表删除旧列表中的元素
  11. li=[1,2,3,4,5]
  12. new_line=[] # 新列表
  13. for i in li:
  14. if i%2==0:
  15. print(i)
  16. new_line.append(i)
  17. for j in new_line:
  18. li.remove(j)
  19. print(li)
  20. #推荐删除方式
  21. dic={'a':'a','b':'b','c':'c'}
  22. new_line=[]
  23. for el in dic:
  24. if el=='a':
  25. new_line.append(el)
  26. for el2 in new_line:
  27. dic.pop(el2)
  28. print(dic)
字典for的时候怎么删除键值对

​ 原因:字典在循环遍历的时候不允许添加和删除,只能修改

  1. #字典遍历中去删除
  2. dic={'a':'a','b':'b','c':'c'}
  3. for el in dic:
  4. dic.pop(el) # 删除
  5. dic['v']='v' # 添加
  6. print(el)
  7. #
  8. python基础知识(七)---数据类型补充、"雷区"、编码的更多相关文章

      1. python基础知识之数据类型
      1. 一.与用户的交互 古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他, 然后他去进行验证,成功后,我们再将取款金额输入/告诉他 骄傲的现代人,会为客户提供一台ATM机(就是一 ...

      1. python基础知识16---函数补充
      1. 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量xy,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

      1. python基础知识 变量 数据类型 if判断
      1. cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 飞机 内存:暂时存储一些数据,临时加载数据和应用程序 4G 8G 16G 32G 速度快,高铁 断电即消失 造价高 硬盘 ...

      1. Python之路【第三篇】python基础 之基本数据类型 补充
      1. 字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-310 ...

      1. python基础知识七
      1. 我们会使用raw_inputprint语句来完成这些功能. 对于输出,也可以使用多种多样的str(字符串)类. 例如使用rjust方法来得到一个按一定宽度右对齐的字符串. 可以通过创建一个file ...

      1. 第二章(1.5Python基础知识(数据类型)
      1. 一.list(列表) list是一种有序的集合,可以随时添加和删除其中的元素 len()函数可以获得list元素的个数 列表操作包含以下函数: cmp(list1, list2):比较两个列表的元素 ...

      1. Python基础知识详解 从入门到精通(七)类与对象
      1. 本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

      1. python基础知识(二)
      1. 以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

      1. python基础知识小结-运维笔记
      1. 接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r print r'c:\now' ...

    1. 随机推荐

        1. [linux]测硬盘读写速度、内存读写速度
        1. 测硬盘的读写速度可以用以下命令:dd if=/dev/zero of=file bs=1M count=1024 测内存读写速度可以使用以下命令: dd if=/dev/zero of=/dev/nu ...

        1. x86 linux 支持的系统调用参数至多6
        1. ebx ecx edx esi edi ebp

        1. easyui datagrideditor编辑器如何为validatebox控件添加改变事件
        1. 项目中需要为行编辑器Editor的某个列的文本框添加改变事件 需求:新增行时,为用户名输入特殊字符进行验证,不允许保存用户数据 html页面 <table id="gridlist&q ...

        1. java面试题实战三
        1. 华为优招面试经验. 1.笔试(这部分按照华为以前的风格不会为难人的,认真做AC一道题就可以进面试了,我编程能力一般吧,做了一道半而已,-_-||!) 2.测评(性格测试,不要太偏激就行了) 3.面试分 ...

        1. java concurrent并发包使用
        1. package cn.com.zxf.atomic; import java.util.concurrent.atomic.AtomicInteger; public class AtomicExam ...

        1. PageRank算法原理与Python实现
        1. 一.什么是pagerank PageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO( ...

        1. 发布微信小程序体验版
        1. 小程序这么火,一直没有做过.因为公司有个业务需要做小程序就顺带学习了一把. 1)本次是采用<微信开发者工具 Stable v1.02.1904090>进行的开发: 2)前端使用的是微信官方 ...

        1. phpspreadsheet 中文文档(四) 创建电子表格+档案格式
        1. 2019年10月11日14:01:48 该Spreadsheet班 该Spreadsheet班是PhpSpreadsheet的核心.它包含对所包含工作表,文档安全性设置和文档元数据的引用. 为了简化P ...

        1. delphi10.2断点调试dll
        1. 因为工作需要接触delphi10.2,需要调试dll,但是从网上查找的资料写的不是很清楚,我折腾了半天,我就动手写清楚操作步骤: 步骤1:用delphi10.2打开需要调试的dll,需要先打开,然后需 ...

        1. 嵌入式02 STM32 实验11 NVIC和中断总结
        1. 一.基础知识 1.cortex-m3支持256个中断,其中包含了16个内核中断,240个外部中断 2.STM32只有84个中断,包括16个内核中断和68个可屏蔽中断 3.STM32F103上只有60个 ...