day5笔记
一.上节回顾:
1,find通过元素找索引,可切片,找不到返回-1
2,index,找不到报错。
3,split 由字符串分割成列表,默认按空格。
4,captalize 首字母大写,其他字母小写。
5,upper 全大写。
6,lower 全小写。
7,title,每个单词的首字母大写。
8,startswith 判断以什么为开头,可以切片,整体概念。
9,endswith 判断以什么为结尾,可以切片,整体概念。
10,format
{}{}{}.format(有顺序)
{0}{1}{2}{0}.format(有顺序的)
'{name} {age}'.format(name=李复,age=12)
11,strip 默认去掉两侧空格,有条件,
12,lstrip,rstrip
14,center 居中,默认空格。
15,count查找元素的个数,可以切片,若没有返回0
16,expandtabs
17,replace(old,new,次数)
18,isdigit,isalpha,isalnum
19,swapcase 大小写翻转
20,for i in 可迭代对象。
二、作业:
#4,实现一个整数加法计算器:
#如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
#方法一
msg=input('请输入内容')
a,b=msg.split('+')
sum=int(a)+int(b)
print(sum)
#方法二
content = input('请输入内容:') # content = '3 + 5'
index = content.find("+") # index = 2
s1 = int(content[index+1:]) # int('5') int(' 5') int('5 ')
print(s + s1)
#5,计算用户输入的内容中有几个整数。
#如:content = input(‘请输入内容:’) # 如fhdal234slfh98769fjdla
#理解为有多少个数字
content = input('请输入内容')
n = 0
for i in content:
if i.isdigit():
n+=1
print(n)
#理解为有多少个整数
name = input('请输入:')
count = 0
while name:
name=name.strip('abcdefghijklmnopqrstuvwxyz')
name = name.lstrip('')
count += 1
print(count)
作业题收藏
三、列表:
(1)索引和切片和字符串类似,切片的输出结果是列表
lis = ['alex',19,'175cm',True]
print(lis[0],lis[1],lis[2]) #alex 19 175cm
print(lis[0:2],lis[3:0:-1],lis[2::2]) # ['alex', 19] [True, '175cm', 19] ['175cm']
(2)列表的增加 append(追加) ,insert(根据索引插入),extend(迭代增加)
lis.append('hobby')
print(lis) # ['alex', 19, '175cm', True, 'hobby']
lis.insert(-2,5)
print(lis) #['alex', 19, '175cm', 5, True, 'hobby'] 都是在原来的元素前插入
lis.extend('好聪明')
print(lis) # ['alex', 19, '175cm', 5, True, 'hobby', '好', '聪', '明']
lis.extend(['好聪明',1,2])
print(lis) # ['alex', 19, '175cm', 5, True, 'hobby', '好', '聪', '明', '好聪明', 1, 2]
(3)删除列表中的某个元素 pop(根据索引删除,并且把删除的内容返回,一次只能删除一个) remove(根据列表中的元素进行删除 如果为空会报错 不返回,一次只能删除一个)
clear (清空一个列表中的所有元素使字符串变为空) del(根据索引进行删除,可以切片删除,可以加步长删除)
lis = ['alex',19,'175cm',True,'']
a = lis.pop()
print(a,lis) # True ['alex', 19, '175cm'] 不加索引默认删除最后一个,加索引按照索引,不能超出索引
#lis.remove('19') # remove后必须要加值,值不存在也会报错
lis.remove(19)
print(lis) # ['alex', '175cm', True]
lis.clear()
print(lis) # []
lis = ['alex',19,'175cm',True,'']
del lis[0]
print(lis) # [19, '175cm', True, '']
del lis[0::2]
print(lis) # ['175cm', ''] 也可以使用切片和步长反向删除;超出范围不报错。 如果切片范围不对则没有值
(4)修改 可以使用索引或者切片直接给列表中的元素重新赋值
lis = ['alex',19,'175cm',True,'']
lis[1] = 20
print(lis) # ['alex', 20, '175cm', True, '']
#lis[0:2] = '老炮儿' # ['老', '炮', '儿', '175cm', True, ''] 如果修改的内容比赋值的元素多,则会迭代增加
#lis[0:2] = ('老','跑','炮儿') # ['老', '跑', '炮儿', '175cm', True, '']
#lis[0:2] = '老炮儿', # ['老炮儿', '175cm', True, ''] # 如果修改的内容比赋值的元素多,可以用,号就不会迭代
#lis[0:3] = '老炮儿', # ['老炮儿', '']
#lis[0:2] = ('老','跑','炮儿'), # [('老', '跑', '炮儿'), '175cm', True, '']
lis[2::-1] ='老炮儿' # ['儿', '炮', '老', True, ''] 可以做反向的赋值
print(lis)
(5)查找字符串
切片去查,或者循环去查
li = [1,2,5,'taibai','yuanhao',[1,'alex',3,],True]
for i in li:
print(i)
(6)find 和index 列表中不支持find 只有 index
li = [1,2,5,'taibai','yuanhao',[1,'alex',3],True]
print(li.index(5,2,)) # 0 支持切片不支持步长 查找元素不存在时候会报错
print(li.index(True)) # 0 如果列表中含有布尔型,那么将无法用index 取值
(7)排序和翻转列表
li=[1,2,3,4,7,6,9,8,5.5]
#li.sort()
#print(li) # [1, 2, 3, 4, 5.5, 6, 7, 8, 9] 可以适用于小数的排序
#反转
#li.reverse() # 等价于 li[-1::-1]
#print(li) # [5.5, 8, 9, 6, 7, 4, 3, 2, 1] 只反转不排序
li.sort(reverse=True)
print(li) # [9, 8, 7, 6, 5.5, 4, 3, 2, 1] 先排序后反转
(8)计数
li=[1,2,3,4,7,6,9,8,5.5,1,2,1]
#a = li.count(1)
#print(a) # 3
a = li.count('')
print(a) # 0 如果找不到结果是0
for i in li:
print(i,li.count(i))
(9)range 指定范围,生成指定数字。
#for i in range(1,10):
# print(i) #for i in range(1,10,2): # 步长
# print(i) for i in range(10,0,-1): # 反向步长
print(i)
l = range(0,10)
print(type(l)) # <class 'range'>
print(l[0]) #
print(l[0:2]) #range(0,2)
(10)元组
#元组的索引与列表类似,也可以切片取值,切片取值的结果是元组
lis = ('alex',19,'175cm',True,'')
#print(lis[0],lis[1],lis[2]) #alex 19 175cm
#print(lis[0:2],lis[3:0:-1],lis[2::2]) # ('alex', 19) (True, '175cm', 19) ('175cm')
# t = (1,2,3,'adsf',True,[12,3,'苑昊','taibai'],('fdsa',2,3))
# print(t[4])
# print(t[1:4])
# for i in t:
# print(i)
# t[4] = False 儿子不能更改
# print(t)
# t[5][2] = '苑日天' #里边的列表元素可以修改
# print(t)
(11)列表嵌套
列表中的元素可以是列表也可以是元组 也可以含有字典
li = [1,2,5,'taibai','yuanhao',[1,'alex',3,],True]
print(li[3]) # taibai
print(li[3][3]) # b
s = li[4].capitalize()
li[4] = s
li[4] = 'Yuanhao'
print(li) # [1,2,5,'taibai','Yuanhao',[1,'alex',3,],True]
s2 = li[4].replace('hao','日天')
li[4] = s2
li[4] = li[4][0:4] + 'ritian'
print(li) # [1, 2, 5, 'taibai', 'Yuanritian', [1, 'alex', 3], True]
l2 = li[5]
li[5][0] = '文杰'
print(li) # [1, 2, 5, 'taibai', 'Yuanritian', ['文杰', 'alex', 3], True]
li[5][1] = li[5][1].upper()
print(li) [1, 2, 5, 'taibai', 'Yuanritian', ['文杰', 'ALEX', 3], True]
day5笔记的更多相关文章
- day5 笔记
笔记 字符格式化输出: 占位符%s s=string 字符型%d d=dight 整数型%f f=float 浮点数 约等于小数 通过格式:%(str1,str2,str3)一一对应 数据运算 数据类 ...
- day5笔记 列表 list 增删改查
列表的使用 一.索引和切片 # 索引和切片,用法与字符串一样 l = [1,2,3,'af','re',4,'45'] print(l[0]) print(l[3]) print(l[-1]) # ' ...
- python自动化测试学习笔记-4常用模块
常用模块 1.os 2.sys 3.random 4.string 5.time 6.hashlib 一.os模块 os模块主要用来操作文件.目录,与操作系统无关.要使用os模块首先要导入OS模块,用 ...
- python笔记 - day5
python笔记 - day5 参考: http://www.cnblogs.com/wupeiqi/articles/5484747.html http://www.cnblogs.com/alex ...
- Python学习笔记,day5
Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...
- 《从零开始学Swift》学习笔记(Day5)——我所知道的标识符和关键字
Swift 2.0学习笔记(Day5)——我所知道的标识符和关键字 原创文章,欢迎转载.转载请注明:关东升的博客 好多计算机语言都有标识符和关键字,一直没有好好的总结,就是这样的用着,现在小小的整 ...
- 《从零開始学Swift》学习笔记(Day5)——我所知道的标识符和keyword
Swift 2.0学习笔记(Day5)--我所知道的标识符和keyword 原创文章,欢迎转载.转载请注明:关东升的博客 好多计算机语言都有标识符和keyword,一直没有好好的总结,就是这 ...
- 第五周 day5 python学习笔记
1.软件开发的常规目录结构 更加详细信息参考博客:http://www.cnblogs.com/alex3714/articles/5765046.html 2.python中的模块 ...
- Android 笔记 文件存取 day5
针对文件的存取 package com.example.file01; import com.example.service.FileService; import android.app.Activ ...
随机推荐
- javascript快速入门23--XHR—XMLHttpRequest对象
创建XMLHttpRequest对象 与之前众多DOM操作一样,创建XHR对象也具有兼容性问题:IE6及之前的版本使用ActiveXObject,IE7之后及其它浏览器使用XMLHttpRequest ...
- 【ztree系列——图标的修改】Bootstrap风格的ztree
前段时间项目中需要用树形结构,在选取的时候参考了很多插件,经过很多尝试,最后又回归到了ztree上.以前用的界面框架是EasyUI,但是它的树结构在实现起来有点复杂,并且功能不是特别完善.dtree在 ...
- 深入理解CommonJS!
CommonJS 一开始大家都认为JS是辣鸡,没什么用,官方定义的API只能构建基于浏览器的应用程序,CommonJS就按耐不住了,CommonJS API定义很多普通应用程序(主要指非浏览器的应用) ...
- HTML5 Canvas 笛卡尔坐标系转换尝试
<!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type&quo ...
- Unity多媒体展示项目经验分享-ImageEffect+动态绑定
Unity多媒体展示项目经验分享-ImageEffect+动态绑定+网络通信 <ignore_js_op> “海尔科技展墙”是去年年初我们为上海家电博览会制作的一个多媒体展项,有限的工期以 ...
- World Wind Java开发之三 显示状态栏信息
先来看下本篇博客索要达到的效果: 找到源代码下的gov.nasa.worldwind.util下的StatusBar.java文件,能够看到状态栏显示的信息主要包含视点高度以及相应空间点三维坐标以及是 ...
- TP细节总结1
TP细节总结1 接收参数尽量使用I函数,代替post.get 更安全! I('变量类型.变量名/修饰符',['默认值'],['过滤方法'],['额外数据源']) 在where 条件处尽量使用 arra ...
- 来自oaim的一些推广信息
笔者几年工作经历亲身走访过一些玻璃深加工企业,发现很重要的一种工具装载玻璃的铁架.而许多企业由于缺少实际操作的经验,导致部分铁架从被制作出来就让我们的成品存在质量缺陷的隐患,最常见的是装好中空玻璃,当 ...
- ASP.NET MVC:创建 ModelBinder 自动 Trim 所有字符串
ASP.NET MVC:创建 ModelBinder 自动 Trim 所有字符串 2010-12-29 21:32 by 鹤冲天, 4289 阅读, 14 评论, 收藏, 编辑 用户输入的字符串前后的 ...
- redis实践一些要注意的事项
不要放垃圾数据,及时清理无用数据实验性的数据和下线的业务数据及时删除; key尽量都设置过期时间对具有时效性的key设置过期时间,通过redis自身的过期key清理策略来降低过期key对于内存的占用, ...