第三节 python 字符串详讲
*************************************************2018 -10-5 day11-1
第三节 python 字符串详讲
字符串的魔法
test='username\temail\tpassword\nlaiying\tjiancunzhang@126.com\t123\t'
v=test.expandtabs(6)
print(v,len(v)) 六个六个分
def isalpha 与 def isapha一对 判别含不含字母
test=
v1 = test.isdecimal()
v2 = test.isdigit()
v3 = text.isnumeric()
print(v1,v2)是否含数字,特种数字如⑥,二
test.isprintable() 如\t \n 是否存在不可见的东西
输出 True False
def isspace(self) 判断是否全部空格
def istitle() 判断全部首字母是否全部大写
def title()转换
def join(self,iterable)
test='你是风儿 我是沙'
t=' '
v=t.join(test)
print(v)
下滑线也是可以的
test='alex'
v=test.zfill(20)
print(v)
def islower()判断是否小写,然后输出bool
def lower 全部小写,
def isuper()判断是否小写,然后输出bool
def uper 全部小写,
处理空格的 表格 换行等
def lstrip()
def rstrip()
def strip()
优先最多匹配
对应替换关系
v='asidufkasd:fiu'
m=str.makestrans('aeiou','12345')
new_v=v.translate(m)
print(new_v)
分割
def partition
def rpartition
def split
def rsplit
分割器直接输入一堆公式,进行分割 如正则表达式也可以进行分割
def splitlines(False) 换行进行分割,分割,只能根据,true,false:是否保留换行
def startswith()
*************************************************2018 -10-5 day11-04
算法 子序列等于子集
六个基本的魔法
join split find strip upper lower
灰魔法
test='alex'
v = test[3]
print(v)
#索引,下标,获取字符串中的某一个字符
v=test[0:1] #0=< <1
v=test[0:-1] #0 到最后
len()
"_".join("kljljkjl")
- 
说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等
 - 
格式:
for x in y:
循环体执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束
 - 
示例1:遍历字符串
s = 'I love you more than i can say'
for i in s:
print(i) - 
示例2:遍历列表
l = ['鹅鹅鹅', '曲项向天歌', '锄禾日当午', '春种一粒粟']
for i in l:
print(i)
# 可以获取下表,enumerate每次循环可以得到下表及元素
for i, v in enumerate(l):
print(i, v) - 
示例3:遍历字典
d = {'a':'apple', 'b':'banana', 'c':'car', 'd': 'desk'}
for key in d:
# 遍历字典时遍历的是键
print(key, d.get(key))
# for key, value in d.items():
# 上下两种方式等价 d.items() <=> dict.items(d)
for key, value in dict.items(d):
print(key, value) - 
列表生成式
- 
可迭代对象:列表、元组、字典等都是可迭代对象,就是可以遍历的对象
 - 
range,用法如下:
 
print(range(10))
# 可以生成从0开始到10的连续整数的迭代对象
print(range(0, 10))
# 可以遍历
for i in range(10):
print(i)
# 强制转换为列表
print(list(range(1, 11)))- 
列表生成式:快速生成具有特定规律的列表
 
# 列表生成式
print([i for i in range(1, 11)])
print([i*2 for i in range(1, 11)])
print([i*i for i in range(1, 11)])
print([str(i) for i in range(1, 11)])
print([i for i in range(1, 11) if i % 2 == 0]) - 
 - 
多重循环:就是循环中嵌套循环
- 
示例1:从终端输入一个整数,打印如下图形:
 
n = int(input('请输入一个整数:'))
'''
1
1 2
1 2 3
1 2 3 4
...
1 2 3 4 ... n
'''
'''
j = 1
while j <= n:
i = 1
while i <= j:
print(i, end=' ')
i += 1
print()
j += 1
'''
for i in range(1, n+1):
for j in range(1, i+1):
print(j, end=' ')
print()- 
示例2:打印九九乘法表
 
for i in range(1, 10):
for j in range(1, i+1):
print('{}x{}={}'.format(j, i, j*i), end=' ')
print()- 
示例3:列表排序(选择法)
 
l = [1, 9, 4, 2, 0, 8, 3, 7]
# 获取长度
n = len(l)
# 外层循环用来控制循环的圈数,每一圈可以确定一个元素的位置
# 确定n个元素起始只需要n-1圈即可
for i in range(n-1):
# 内层循环用来比较大小交换元素,一圈确定一个元素
for j in range(i+1, n):
# 如果不合适
if l[i] > l[j]:
# 交换两个变量
l[i], l[j] = l[j], l[i]
print(l) - 
 - ************************************************2018 -10-5 day11-6
 - 字符串一单定了,就不要改内容
 - name='abc' num='11'
 - info = name + num
 - print(info)
 - 字符串一旦创建,不可修改
 - 一旦修改或者拼接,都会造成重新生成字符串
 - ************************************************2018 -10-5 day11-6
 
def replace('old','new',x)老的换成新的,换成前几个
帮助我们创建连续的数字range
v=range(100)
for item in v:
print(item)
test=input('>>>')
for item in test:
print(item)
test =input('>>>')
print(test)
l=len(test)
print(l)
r=rang(0,l)
for item in r:
print(item,test[item])
或者
test=input('>>>')
for item in range(0,len(test)):
    print(item,test[item])
                    
                
                
            
        
浙公网安备 33010602011771号