字符串内建函数

字符串内置函数

#查找相关的  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不行
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值