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.面向对象: 华山派-- ...
随机推荐
- Java导入
导入(import)声明用于将任何类型导入编译单元.导入(import)声明出现在包声明之后,第一个类型声明之前. 有两种类型的导入声明: 单类型导入声明 按需导入声明 单类型导入声明 单类型导入声明 ...
- Pikachu漏洞练习平台实验——暴力破解(一)
概述 一个有效的字典可以大大提高暴力破解的效率 比如常用的用户名/密码TOP500 脱裤后的账号密码(社工库) 根据特定的对象(比如手机.生日和银行卡号等)按照指定的规则来生成密码 暴力破解流程 确认 ...
- IPython notebook在浏览器中显示不正常的问题及解决方法
使用过Python的童鞋们应该知道IPython是一个比python自带的交互式界面更加友好的交互界面,IPython提供了自动补齐什么的,其实我还没开始用所以这里也不扯淡了,大家自己去网上查,IPy ...
- [Fw]初探linux中断系统(1)
1. 重要接口 LDD上说,“内核维护了一个中断信号线的注册表,该注册表类似于I/O端口的注册表.模块在使用中断前要先请求一个中断通道(或者中断请求IRQ),然后在使用后释放该通道.” 撇开系统如何遍 ...
- centons6升级gcc和glibc版本
一.先升级gcc 这里配置yum源来升级 centos6系列更换阿里yum源 1.首先备份原来的cent os官方yum源 cp /etc/yum.repos.d/CentOS-Base.repo / ...
- (转)收集 Spring Boot 相关的学习资料,Spring Cloud点这里 重点推荐:Spring Boot 中文索引
推荐博客 纯洁的微笑-Spring Boot系列文章 林祥纤-从零开始学Spring Boot Mkyong-Spring Boot教程(国外) baeldung-Spring Boot教程(国外) ...
- LeetCode Linked List Medium 2. Add Two Numbers
Description You are given two non-empty linked lists representing two non-negative integers. The dig ...
- SQL笔试题:下面是学生表(student)的结构说明
SQL笔试题:下面是学生表(student)的结构说明 SQL笔试题:下面是学生表(student)的结构说明 字段名称 字段解释 字段类型 字段长度 约束 s_id 学号 字符 10 PK s_na ...
- Nginx是什么?为什么选择Nginx做服务器软件?有什么优势?
代理服务器基础知识 Nginx是什么? 为什么选择Nginx 1.代理服务器基础知识 a.代理服务器 一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用 ...
- 【leetcode】1003. Check If Word Is Valid After Substitutions
题目如下: We are given that the string "abc" is valid. From any valid string V, we may split V ...