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('123456789')
    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])  #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]

  

   

原文地址:https://www.cnblogs.com/zjchao/p/7722140.html