字符串内置函数
#查找相关的 find() rfind() lfind()
# index()//与find相似,只是没找到的话会出现异常
# rindex() lindex() replace()
s1 = 'index luck lucky goods'
# find 返回位置
result = 'R' in s1
print(result)
position = s1.find('R')
print(position)
position = s1.find('l')
print(position) # 如果找到,则返回第一次找到的位置
p = s1.find('l',position+1)
print(p)
#find(要查找的字符,start , end)
p = s1.find('l',position+1,len(s1)-5)
print(p)
# find() 找图片的名字https://tb1.bdstatic.com/tb/cms/ngmis/images/file_1576816567280.jpg
url = 'https://tb1.bdstatic.com/tb/cms/ngmis/images/file_1576816567280.jpg'
p = url.rfind('/') #从右侧检索/的位置查找图片的名字 开发过程中经常用的
print(p)
filename = url[p+1:]
print(filename)
p = url.rfind('.') #从右侧检索.的位置 查找图片的后缀
print(p)
filename = url[p+1:]
print(filename)
#替换 replace(old,new,[max]) [max] 是替换几个 其他的与此类似
#用处
s2 = s1.replace(' ','*')
print(s2)
# 字符串的内建函数encode 编码 decode解码
# 编码 https://tieba.baidu.com/ 网络应用
# link?client_type=pc_web&tbjump=lid%253D3039648068_26934_13___0
# %2526url%253D11e1IdpeqYpc8pQxLHWPNJ4tzsKYeTMkx-_F7RcnLHKnPz-I3e
# uPkZrrEes_2QjXoHFdG-BeBMOV8COvaaq7TpjLtfZ_0AAE6IsMIcAgThd1YjUvzRS
# BGw2saKkTLMe6gl95RDFlGWvXBb1kgZPecSn-FtYFmi52dzYq6C8HCKsmN02XA7r4W
# 9_vF4zywMcq2BtD1i9ME-FGJbIGUoxhhhERpKd8Qsckx0j38XiQgK5gpw-W4bs
#dx8bMgmfRd
# hc0Gid5Ieujr70xAO3FZqrMS3_vpxfbRglASdAcmtm31-lY_ecEhGWM_XRIjHpGJx7FHX0Z
# ymimtTLEjvp-A4_8jVa_q9grK2a2SOhxU6Na3rxYGGjWFr8y8sD-weOVGcjPNA1Sp_fbNOsFlPmU_
# -cZsrtMzBdwWjZKiWSeQnYZLM42nydrW4qx0Wvwuj6oWRdAXHl_88hI_yvdCKu
#MZdHSTiVAEA8Nz0
# Ki4GrLpTJtAtbHWFtcs75sw-NYZNfMnGSEcXu9oRFnlfGxNdjod-UkL3InFzR2sKAtdliuED0Zanvc4
# mLXyoqIqKVjO-Zb2lW58akaWaBQ1xq72T2mEGIMH_1op8A2scQKjuqYxhdU5Kipj3EhgPCa_k__aw1S
# D5Z6Z8SpsdUeAg3AqLPvcAj_aBjfvagH8OdqC4j24u6-GCrNHsvsHZkA3JrnMYyhOseXCckY5zm3u91
# 2b9Ou9Jm8bRMFnQ-il-DPvIiWpW8TAGkEvCoR68JGIhMzPFEKAJAZr8l-1NLn4BMCGl05nB-8XlW-
# -xDR9stug8BTaxu2CPEorBbsKDqabhujFezVhAQIkHp7SiM4FmU7BXgEvHxaNi1uzAkHU2DzF_I5f85
# ZwMHoSePMp3wagPoQsYOAy-2sLy90J7uEKbTRCYBIhIMDweARe7YA_DDp1WX1jGrtJOJOdEgJj69-dc
# idBwMG1z0zssOXi5t4JxvUkkI64prNWWn6bgnm7DMHUh_scGJ1Jg4VspGdwpjcaeL1-i5a0A35hNWXe
# HSQohj8Rz-733D35JDLIfxTAOqz_1cfqCyd4c-mYxLlu41kiPByWQp3TO8HRILrjSjbNQTN5bLQXy40
# -xfiz6TBo_5Bres39mGjvBuDQYUgJKhJ2b-oWlgSCN4xKsgQalg19GGQ04syZ6w10lzts7X0sPPO_9e
# T31IelS4Re8YnWIJjSJwexQelYO89Ovqg86rQuClIHEOwIdU2mdoRBnOGo9FevE1OrK-RmvC3h-BnxI
# WuklD70YA&task=&locate=&page=index&type=click&url=http%3A%2F%2Ftieba.baidu.com%
# 2Findex.html%3Ftraceid%3D%3Ftraceid%3D&refer=https%3A%2F%2Fwww.baidu.com%2F&fid
# =&fname=&uid=&uname=&is_new_user=&tid=&_t=1576993842&obj_id=26934
msg = '上课啦!认真听课!'
# gbk 中文 gb2312 简体中文 unicode
p = msg.encode('utf-8')
print(p) # 调用encode
m = p.decode()
print(m)
# startwith 和 endswith 返回值 true or false 判断是否是以 xxx 开头或者结尾
# 文件上传 只能上传(jpg,png,bmp,gif)
filename = 'biji.doc'
result = filename.endswith('txt')
print(result)
s = 'hellow'
result = s.startswith('h')
print(result)
while True:
file = input('请选择文件:') # E:\html\1.PNG
p = file.rfind('\\')# 单独一个用\\就行 不用r来作为保留原格式的
filename = file[p+1:]
if filename.endswith('jpg') or filename.endswith('PNG'):
print('是图片,允许上传,上传成功')
break
else:
print('不是图片,不允许上传')
# is开头的等等 isalpha()是否为字母 isdigit()是否为数字
s1 = 'abc'
sum = 0
result = s1.isalpha()
print(result)
for i in range(3):
num = input('请输入数字:')
if num.isdigit():
num = int(num)
sum += num
print(sum)
# join() 用来连接
str = '_'.join('abc')
print(str)# a_b_c
list1 = ['a','s','d','x']
result = ''.join(list1)
print(result)#asdx
result = ' '.join(list1)
print(result)#a s d x
# lstrip() 去除左侧的空格
s = ' hellow '
s = s.lstrip()
print(s)
#rstrip() 去除右侧的空格
s = ' hellow '
s = s.rstrip()
print(s)
# split('分隔符','次数') 分割字符串 将分割后的字符串放入到 list 两个参数后面的参数为切几刀
s = 'hellow world hellow kitty'
result = s.split(' ')
print(result)
# count() 字符的个数
n = s.count(' ')
print('个数:',n)
# 字符串也可以放入for in之中 not in表示不在字符串的里面
列表 list
# list 列表类似于数组 数字的组合 字母的组合 字符串的组合
#符号: 列表:[]
names = ['jack','tom','lucy','superman','ironman'] # 声明了一个列表
computer_brands = []
print(id(names))
print(id(computer_brands))
# 元素获取使用下标 支持字符串的负数的规则
print(names[0])
print(names[1])
print(names[-5])
print(names[-4])
print(names[len(names)-1]) #对于正向的值去取len的时候要考虑数组的越界
#结合循环
for name in names:
print(name)
for name in names:
if name == 'superman':
print('超人在里面')
break
else:
print('没有找到超人')
if 'superman' in names:#判断有没有这个元素
print('超人在里面')
else:
print('没有找到超人')
# 增删改查
brands = ['hp','dell','thinkpad','支持华为','lennovo','mac','神州']
# 改
print(brands)
print(brands[-1])
brands[-1] = 'HASEE'
print(brands)
# huawei
for i in range(len(brands)):
if '华为' in brands[i]:
brands[i] = 'hauwei'
break
print(brands)
# 删除操作 del delete的缩写
del brands[1]
print(brands)
brands = ['hp','dell','thinkpad','支持华为','lennovo','mac','神州']
# for 循环删除元素
i = 0
l = len(brands)
while i < l:
if 'hp' in brands[i] or 'mac' in brands[i]:
del brands[i]
l -= 1
i += 1
print(brands)
for in 和 if in 的用法
words = ['hellow','good','apple','world','digit','alpha']
w = input('请输入一个单词')
for word in words: # 此处的in 是指每次从words 中取出一个单词
if w in word: # == 的话看是否为完全相等
# in 是这些字符是否在这些字符中即为包含的关系类似于 go在 good中
print('存在此单词')
break
i = 1
if 'good' in ['hellow','good','apple','world','digit','alpha']: # 查找是否匹配的问题
print('包含...',i)
i += 1
for w in ['goods','good','apple','world','digit','alpha']:
# w = goods
print('good' in w)
print('---->',i)
i += 1
'''
if 让 in 判断作为一个条件表达式
if a in 'abc'
pass
if 'a' in ['a','b','c']
pass
但是
for in 是循环遍历
'''
words = ['hellow','good','goo','goo','goo','alpha']
w = input('请输入一个单词:')
i = 0
l = len(words)
while i < l:
if w in words[i]:
del words[i]
l -= 1
else:# 此时不用else的话可能会产生漏删,是由于两个连续的都含有字符
i += 1
print(words) # 此处结果['hellow', 'alpha']
words = ['hellow','good','goo','goo','goo','alpha']
w = input('请输入一个单词:')
i = 0
l = len(words)
while i < l:
if w in words[i]:
del words[i]
l -= 1
# i -= 1 相当于先加一再减一,不会出现漏删 或者 continue 也行二者类似
i += 1
print(words) # 此处的结果['good', 'goo', 'alpha']
列表的基本的性质
1.列表中是能够混着放的
2.列表也是支持切片的 list[3:6]
3.负数也是能够应用的 并且也支持步长
4.也可以表示负数的
列表的插入
#列表的添加
girls = ['杨幂']
while True:
name = input('请输入你心中的美女的名字')
if name == 'quit':
break
# 列表的函数使用 append extends insert
# append()表示末尾追加 ,追加到列表的最后
girls.append(name)
print(girls)
# extend 类似列表的合并 把每个字符拆分称为一个元素
# 列表里面的+号相当于把两个列表合并
names = []
name = input('请输入:')
girls.extend(name)
print(girls)
#insert 表示插入 指定位子添加
girls.insert(1,'刘涛')
print(girls)
# extend 添加多个
最大值函数
max(列表)
找出列表中的最大值
最小值函数
min(列表)
找到列表的最小值
求和函数sum
sum(列表)
最好不要用内置的函数作为变量
sorted 为排序 是从小到大的排序与java的不太一样 sort(列表)默认是升序 ,只需要在后面加一个reverse = True就表示降序的排列
ascending升序descending降序排列
对于字符串的一些内置函数的总结
# 字符串中可以使用的符号
'''
+
*
in
not in
is
not is
[]
'''
'''
列表使用的符号
+
*
in
列表里面可以放列表(列表嵌套) 二维的列表
列表中的元素:
整型 字符串 浮点型 列表 元组 字典 对象
强制转换
1. int
2. str
3.list
list(range(1,3,10))==> [1,4,7]
s = 'abc'
result = list(s) ==> result = ['a','b','c']
iterable 可迭代的
‘abc’ ==> a b c
for i in xxx
pass
在for in中的就是可迭代的 list 字符串等 10不行,digit不行
'''