零基础Python知识点回顾(二)
开始了,继续说!字符串替换,就是预留着空间,后边再定义要填上什么,这种叫字符串格式化,其有两种方法: % 和 format
%s 就是一个占位符,这个占位符可以被其它的字符串代替
>>> "I like %s" % "python"
'I like python'
占位符 | 说明 |
---|---|
%s | 字符串(采用str()的显示) |
%r | 字符串(采用repr()的显示) |
%c | 单个字符 |
%b | 二进制整数 |
%d | 十进制整数 |
%i | 十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数 |
%e | 指数 (基底写为e) |
%E | 指数 (基底写为E) |
%f | 浮点数 |
%F | 浮点数,与上相同 |
%g | 指数(e)或浮点数 (根据显示长度) |
%G | 指数(E)或浮点数 (根据显示长度) |
string.format()
的格式化方法,其中{索引值}
作为占位符,这个好变着花样的玩哦,这个不错,嘻嘻
>>> s1 = "I like {0}".format("python")
>>> s1
'I like python'
关于类似的操作,还有很多变化,比如输出格式要宽度是多少等等,找了一个参考图,你看看开心就好
split 这个函数的作用是将字符串根据某个分割符进行分割
>>> a = "I LOVE PYTHON"
>>> a.split(" ")
['I', 'LOVE', 'PYTHON'] (这是用空格作为分割,得到了一个名字叫做列表(list)的返回值)
>>> b = "www.itdiffer.com"
>>> b.split(".")
['www', 'itdiffer', 'com'] (这是用"."作为分割,得到了一个名字叫做列表(list)的返回值)
String.strip() 去掉字符串的左右空格
String.lstrip() 去掉字符串的左边空格
String.rstrip() 去掉字符串的右边空格
String.upper() #String中的字母大写
String.lower() #String中的字母小写
String.capitalize() #首字母大写
String.isupper() #String中的字母是否全是大写
String.islower() #String中的字母是否全是小写
String.istitle() #String中字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
join拼接字符串
>>> b='www.itdiffer.com'
>>> c = b.split(".")
>>> c
['www', 'itdiffer', 'com']
>>> ".".join(c)
'www.itdiffer.com'
>>> "*".join(c)
'www*itdiffer*com'
列表
一些用逗号分隔而有序的数据,用方括号表示一个list,[ ] 在方括号里面,可以是int,也可以是str类型的数据,甚至也能够是True/False这种布尔值 ['2',3,'北京图灵','outman']
bool()
是一个布尔函数,这个东西后面会详述。它的作用就是来判断一个对象是“真”还是“空”(假)
列表可以索引和切片,前面字符串我好像啰嗦过了,都是一样的
这里拓展下 双冒号使用,其实Python序列切片地址可以写为[开始:结束:步长],那么其中的开始和结束省略,就出现双冒号了
开始start省略时,默认从第0项开始。结尾省略的时候,默认到数组最后。步长step省略默认为1。当step等于负数的时候,从右向左取数
>>> alst = [1,2,3,4,5,6]
>>> alst[::-1] #从右向左取数(反转过来了)
[6,5,4,3,2,1]
上面反转我们可以用reversed函数
>>> list(reversed(alst))
[6,5,4,3,2,1]
好了下面我转用anaconda 里面的 jupyter打命令演示了(之前是在官方python3.7)没有 >>>
append()方法在列表的末尾添加一个元素
s = [1,'a','3']
s.append('t')
print(s)
[1, 'a', '3', 't']
insert()任意位插入一个元素 (说到位置,你想到什么?没错,就是索引)
s = [1,'a','3']
s.insert(3,'t') #在索引为3的位置加字符t,也就是字符串3后边
print(s)
[1, 'a', '3', 't']
使用del语句删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']
del motorcycles[0]
print(motorcycles)
['yamaha', 'suzuki']
pop()弹出任意位置一个元素 (同样说位置,还是用索引,弹出?就是拿出来)
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.pop(1) #括号内不填写默认为0,经常弹出的这个值我们会用到,这就是特殊的地方
print(motorcycles)
['honda', 'suzuki']
remove()不知道要从列表中删除的值所处的位置,只知道要删除的元素的值。(知道你要删除啊啥,这就够了)
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
motorcycles.remove('ducati')
print(motorcycles)
['honda', 'yamaha', 'suzuki']
好了,再说几个,不做命令演示了
list.clear() 从列表中删除所有元素。相当于 del a[:]
list.index(x) 返回列表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误
list.count(x) 返回 x 在列表中出现的次数
list.sort() 对列表中的元素就地进行排序
list.reverse() 就地倒排列表中的元素
list.copy() 返回列表的一个浅拷贝。等同于 a[:] 说说这个吧,你可能会问啥是浅拷贝?演示代码给你看下,你会发现确实新拷贝的列表ID不一样,但里面元素ID一样
b = ['honda', 'yamaha', 'suzuki']
a = b.copy()
print(id(b)) #查看列表b的ID
print(id(b[1])) #查看列表b中索引值为1的元素ID
print(a)
print(id(a)) #查看列表a的ID
print(id(a[1])) #查看列表a中索引值为1的元素ID
99844368
list.extend(b) 将一个给定列表中的所有元素都添加到另一个列表中,相当于 a[len(a):] = b 这个理解么?就是说列表a其切片从索引值"len(a)"到结束的部分就是列表b
a = [1, 2, 3]
b = ['qiwsir', 'python']
a.extend(b)
print(a)
[1, 2, 3, 'qiwsir', 'python'] 这里你想下和append()的区别
说到这,就不得不深入下,extend函数也是将另外的元素增加到一个已知列表中,其元素必须是iterable,什么是iterable?也就是可迭代
迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果
hasattr()的判断本质就是看那个类型中是否有__iter__函数。可以用dir()找一找,在数字、字符串、列表、元组、集合、字典,谁有__iter__(截图了,打命令好累)
为什么?数字你搞什么!
那我们想下,列表都干啥用呢?
1. 把列表当作堆栈使用
列表方法使得列表可以很方便的做为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append()
方法可以把一个元素添加到堆栈顶。用不指定索引的 pop()
方法可以把一个元素从堆栈顶释放出来
2. 把列表当作队列使用
可以把列表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放(先进先出)。不过,列表这样用效率不高。相对来说从列表末尾添加和弹出很快;在头部插入和弹出很慢(因为,为了一个元素,要移动整个列表中的所有元素)
3. 列表推导式(可嵌套)
列表推导式为从序列中创建列表提供了一个简单的方法。普通的应用程式通过将一些操作应用于序列的每个成员并通过返回的元素创建列表,或通过满足特定条件的元素创建子序列
零基础Python知识点回顾(二)的更多相关文章
- 零基础Python知识点回顾(一)
如果你是小白,建议只要安装官网的python-3.7.0-amd64.exe 然后在电脑cmd命令提示符 输入检查是否已经安装pip,一般安装了python都会有的. >pip ...
- 零基础Python知识点回顾(三)
元组 元组是用圆括号括起来的,其中的元素之间用逗号隔开.(都是英文半角)tuple(元组)跟列表类似是一种序列类型的数据,特点就是其中的元素不能更改 既然是有序的,那么,嘿嘿,不错,它也可以有索引,能 ...
- 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的42-45讲 {字典}
#coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=1021108 ...
- 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的15-23讲
#coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=1587383 ...
- 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的1-14讲
#coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=1587383 ...
- 零基础JavaScript编码(二)
任务目的 在上一任务基础上继续JavaScript的体验 学习JavaScript中的if判断语法,for循环语法 学习JavaScript中的数组对象 学习如何读取.处理数据,并动态创建.修改DOM ...
- Python零基础学习系列之二--Python介绍及环境搭建
1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...
- [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...
- 零基础Python应该怎样学习呢?(附视频教程)
Python应该怎样学习呢? 阶段一:适合自己的学习方式 对于零基础的初学者来说,最迷茫的是不知道怎样开始学习?那这里小编建议可以采用视频+书籍的方式进行学习.看视频学习可以让你迅速掌握编程的基础语法 ...
随机推荐
- SQL更新派工单数量=任务数量的
select b.FCommitQty '任务数量',a.FQty '派工数量',a.FSourceBillNo '派工单号',b.FBillNo '任务单号',a.FStatus '派工状态' fr ...
- 【MSDN】 SqlServer DBCC解析
汇总学习下SqlServer的DBCC指令. DBCC:Transact-SQL 编程语言提供 DBCC 语句以作为 SQL Server 的数据库控制台命令. 数据库控制台命令语句可分为以下类别. ...
- Java中使用MongoUtils对mongodb数据库进行增、删、查、改
本文主要介绍在java应用中如何使用MongoUtils工具类对 mongodb进行增.删.查.改操作. 一.配置 1.将 common.jar库引入到项目环境中: (源代码:https://gite ...
- js之正则表达式基础
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦, ...
- Nodejs中使用异步流程控制Async
首先,我们都知道,Node基于事件驱动的异步I/O架构,所谓异步就是非阻塞,说白了就是一个事件执行了,我不必等待它执行完成后我才能执行下一个事件.所以在Node环境中的模块基本都是异步的,上一篇说到我 ...
- Java程序员应该知道的linux命令
1.查看Java进程:ps -ef|grep java,ps auxf|grep jva; 2.杀死所有Java进程: pkill java, kill -9 进程ID: 3.进入目录:cd /usr ...
- stark——查看页面编辑删除按钮
一.数据列表 设计查页面,主要展示两部分内容,表头部分和数据部分, 表头通过遍历list_display和默认要显示的编辑和删除字段. 1.数据构建 (1)service/stark.py,后台数据构 ...
- HTML 5 表单相关元素和属性
HTML使用表单向服务器提交请求,表单.表单控件的主要作用是收集用户输入,当用户提交表单时,用户输入内容将被作为请求参数提交到远程服务器.因此,在Web编程中,表单主要是用于收集用户输入的数据,在需要 ...
- [PAMI 2018] Differential Geometry in Edge Detection: accurate estimation of position, orientation and curvature
铛铛铛,我的第一篇文章终于上线了,过程曲折,太不容易了--欢迎访问--- https://ieeexplore.ieee.org/document/8382271/ 后面有需要的话可以更新一下介绍,毕 ...
- 3D开源推荐:3DWebExplorer
开源网址:https://github.com/irconde/3DWebExplorer 介绍:演示如何内嵌Google Earth 插件,开发面向公众的3D旅游展示平台