2020-12-30python学习笔记

字符串
1)定义 :
字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
2)取值
Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
Python 访问子字符串,可以使用方括号 [ ] 来截取字符串,字符串的截取的语法格式如下:

变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。

3)操作:len() type() max() min()

 编码:图灵  0 1
      8位 =1byte  256 
     16位 =2byte  65536      GB2312-->GBK       
     24位 =3byte  16777216   utf-8
    如: 我——20105
name1 = "刘老根和药匣子.jpg"
print(name1.isalpha())
print(name1.isdigit())
#字符串是否由字母和数字组成
print(name1.isalnum())
print(name1.isupper())
print(name1.islower())
print(name1.isspace())
print(name1.lower())
print(name1.upper())
# index(str, beg=0, end=len(string))
# 跟find()方法一样,只不过如果str不在字符串中会报一个异常。
print(name1.index("老根",1,3))

encode(encoding=‘UTF-8’,errors=‘strict’)
以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常
除非 errors 指定的是’ignore’或者’replace’

bs = name1.encode(encoding="utf-8")
print(bs)

print(bs.decode(encoding="gbk"))  #报错了!!??
print(",".join(name1))
#join()方法,字符串的拼接方法
name2 =  ",".join(name1)
print(name2)
print(name2.split("-"))   #列表

replace()替换的方式,可以将空格替换成空,可以替换所有的空格
使用语法:
语法:S.replace(old, new[, count])
需要修改的字符串.replace(需要替换的字符, 替换后的字符[, 替换的次数])

print(name1.replace("刘老根","大辣椒",1))
# count(str, beg= 0,end=len(string))
#返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
print(name1.count("刘老根",1))

strip([chars])
在字符串上执行 lstrip()和 rstrip()
strip()方法,去除字符串开头或者结尾的空格
lstrip()方法,去除字符串开头的空格
rstrip()方法,去除字符串结尾的空格

print(name1.strip('c'))
print(name1.lstrip())
print(name1.rstrip())
# 格式化
print(name1.format())
# find(str, beg=0, end=len(string))
# 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内
# 如果包含返回开始的索引值,否则返回-1
print(name1.find("国"))
print(name1.index("老"))
print(name1.endswith(".jpg"))
print(name1.startswith("刘老根"))

name1 = "刘老根和药匣子"
# rjust(width,[, fillchar])
# 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
print(name1.rjust(15,"*"))
# ljust(width[, fillchar])
#返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
print(name1.ljust(2,"."))

四。tushare库 获取数据
五。题目
str1 = “abcdefghjklertg”
str2 = “abefghjkltrtg”
#找最大公共子串

def find_lcsubstr(s1, s2):
    m = [[0 for i in range(len(s2) + 1)] for j in range(len(s1) + 1)]
    #print("m",m)# 生成0矩阵,为方便后续计算,比字符串长度多了一列
    mmax = 0  # 最长匹配的长度
    p = 0  # 最长匹配对应在s1中的最后一位
    for i in range(len(s1)):
        for j in range(len(s2)):
            if s1[i] == s2[j]:
                m[i + 1][j + 1] = m[i][j] + 1
                if m[i + 1][j + 1] > mmax:
                    mmax = m[i + 1][j + 1]
                    p = i + 1
    return s1[p - mmax:p], mmax  # 返回最长子串及其长度


print(find_lcsubstr('abcdefghjklertg', 'abefghjkltrtg'))

参考博客

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值