python基础【第九篇】
补充知识
1.字符串方法的补充
s = str()
s.format() # 格式化输出
"连接符".join("连接的对象") # 拼接
s.find() # 字符串的查找
s.capitalize() # 首字母大写
s.title() # 单词的首字母大写
s.index("e") # 查找某个对象的索引值
s.center(20) # 居中显示字符串
s.encode("utf-8") # 编码
s.swapcase() # 字符串大小写互换
2.列表方法的补充
lst = list()
lst.sort() # 列表的排序,默认为升序
lst.reverse() # 列表的反转
lst.sort(reverse=True) #列表排序,降序排列
print(lst)
3.字典方法的补充
dic = dict()
dic.fromkeys("参数一","参数二")
# 批量创建键值对和字典 参数1:可迭代对象,参数2:创建时公用这个值
4.面试时经常遇到的坑
# 面试题1
列表
lst2 = [1,2,[]]
lst3 = lst2 * 3
print(lst2)
print(lst3) # []公用一个内存空间地址
lst3[-1].append(5)
print(lst3)
# lst3[]里都加入了5,因为[]公用了一个内存空间的地址
元组
tu1 = (1,2,[])
tu2 = tu1 * 3
tu2[-1].append(10)
print(tu2)
同上[]公用了一个内存空间的地址
字典
dic = {}
dic = dic.fromkeys("abc",[])
print(dic)
dic["a"] = "8"
print(dic)
将字典里的键"a"对应的元素修改为了8,不影响后续列表
# 面试题2
循环删除元素
1.for循环自己维护了计数
2.列表有个自动补位的效果
lst = [1,2,3,4,5,6,7]
for i in range(len(lst)):
if i % 2 == 1:
lst.pop(i)
print(lst)
for i in range(len(lst)-1,-1,-1):
if i % 2 ==1:
lst.pop(i)
print(lst)
利用for循环,与列表索引进行循环删除列表元素的时候,需要注意列表的自动补位机制
由于自动补位机制的影响,删除时会存在索引超出的情况,因此可以选择倒序删除
练习题1
删除列表元素中开头为周的数据
lst = ["周星驰","周芷若","马冬梅","大润发","周杰伦","张杰"]
lst1 = lst[:]
for i in lst1:
if i.startswith("周"):
lst.remove(i)
print(lst)
字典和集合循环删除的坑:
dic = {"key":1,"key2":2,"key3":4} # 大小就是字典的总长度
for i in dic:
dic[i] = i
print(dic)
字典和集合在循环的时候不能改变原来的大小
dic = {"key":1,"key2":2,"key3":4}
dic1 = dic.copy()
for i in dic1:
del dic[i]
print(dic)
5.编码进阶
s = "你好"
s1 = s.encode("utf-8")
s2 = s1.decode("utf-8")
print(s2)
print(s.encode("gbk"))
用什么编码就用什么进行解码
python基础【第九篇】的更多相关文章
- python基础-第九篇-9.1初了解Python线程、进程、协程
了解相关概念之前,我们先来看一张图 进程: 优点:同时利用多个cpu,能够同时进行多个操作 缺点:耗费资源(重新开辟内存空间) 线程: 优点:共享内存,IO操作时候,创造并发操作 缺点:抢占资源 通过 ...
- python基础-第九篇-9.2线程与多线程
单线程 import time beginTime = time.time() for a in range(10): print(a) time.sleep(1) shijian = time.ti ...
- python基础-第九篇-9.3线程池
简单版 import queue import threading class ThreadPool(object): def __init__(self, max_num=20): self.que ...
- Python 基础学习篇
注:技术尚浅,时间匆忙,如有错误或者不当之处值得商榷的,请留言,吾必思而改之. 第一篇 :Python基础- 安装/变量/输入/及循环语句使用 第二篇: Python基础- 常用数据类型 第三篇: ...
- python【第九篇】多线程、多进程
内容提要 paramiko模块 进程.与线程区别 python GIL全局解释器锁 多线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生 ...
- [Python笔记]第九篇:re正则表达式
一.正则表达式基础 1.正则表达式介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分 ...
- python基础-第二篇-基本数据类型
一.运算符 1.算数运算: 算数运算符相信大家都不陌生吧,尤其是加减乘除,好!那我就带着大家看看最后三个,这三个到底是干什么玩意的? %,取两数相除的余数,看图: **,x的多少次幂,看图: //,取 ...
- Python 基础总结篇
变量及数据类型 Numbers数字分为:int整型,long长整型,float浮点型,complex复数 String字符串由数字.字母.下划线组成的一串字符,用于表示文本的数据类型 bool布尔型: ...
- python基础总结篇——使用Mysql
python操作Mysql,很方便,使用的MySQLdb的库,基本的操作如下: 查询: try: conn = MySQLdb.connect(host=self.ip, user=self.user ...
- Python基础-函数篇
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 函数与函数式编程 1.面向对象: 华山派-- ...
随机推荐
- Python的基本数据类型,用户交互
整数: int 常见的数字都是int类型. 用于计算或者大小的比较 在32位机器上int的范围是: -2**31-2**31-1,即-2147483648-2147483647 在64位机器上int的 ...
- springCloud的使用09-----高可用的注册中心
思路:创建多个注册中心,在他们的配置文件中配置相互之间的注册 1 在eureka-server项目的resources目录下创建两个配置文件application-peer1.yml和applicat ...
- ARM与Cortex
arm系列从arm11开始,以后的就命名为cortex,并且性能上大幅度提升. 从cortex开始,分为三个系列,a系列,r系列,m系列. m系列与arm7相似,不能跑操作系统(只能跑ucos2),偏 ...
- 图片查看器(类似于QQ,另外又加了JARA的下方的图片缩略导航图)
源码地址:https://gitee.com/yolanda624/coffer/tree/master/src/components/a-photo-view
- 2019HDU多校第一场 String 贪心
题意:给你一个字符串,问是否存在一个长度为m的子序列,子序列中对应字符的数目必须在一个范围内,问是否存在这样的字符串?如果存在,输出字典序最小的那个. 思路:贪心,先构造一个序列自动机,序列自动机指向 ...
- 【leetcode】996. Number of Squareful Arrays
题目如下: Given an array A of non-negative integers, the array is squareful if for every pair of adjacen ...
- ajax中json格式数据如何朝后端发送数据
- python--闭包函数、装饰器
先来点补充. x= def foo(): print(x) x= foo() 结果: x= def foo(): global x x= print(x) foo() print(x) 结果: x= ...
- 洛谷P1087--FBI树(二叉树)
题目描述 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串. FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三 ...
- spring boot中读取配置文件的两种方式
application.properties test.name=测试 test.url=www.test.com 1.@Value注解 在controller里可以这样直接调用 @Value(&qu ...