上代码吧,跟着教程走的,这本身就是个学习笔记。
切片
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#一些语言高级特性
#切片 及[x:y] 表示,也可以直接[:],表示取整个数组
#range()函数配合list可以生成0到x-1的数组
b = range(50);
lst = list(b);
print(lst[38:40]);
#取前10个数
print(lst[:10]);
#取后5个数
print(lst[-5]);
#取前10个数,每两个取一个
print(lst[:10:2]);
#取全部数,每5个取一个
print(lst[::5]);
#只用[:]可复制整个数组
print(lst[:]);
#试试截取字符串
str=" python 太变态,难怪有些人喜欢用,简化了太多 ";
print(str[2:10]); #妮玛,居然自动识别中英文截取,牛x
print(len(str));
#做作业试试,利用切片函数实现去除首尾空
def trim(str):
a = " ";
stra = 0 ; #查找的前空位置
end = len(str); #后位置
for v in str:
if(a==v):
stra +=1 ;
else:
break;
for v in str:
nstr = str[end-1:end]
if(a==v):
end -=1 ;
else:
break;
return str[stra:end];
#别人的,比我好太多,哈哈
def trim1(s):
while s[:1] == " ":
s = s[1:]
while s[-1:] == " ":
s = s[:-1]
return s
str = trim1(str);
print(str);
print(len(str));
#再来个递归形式的,还带参数检测
def trim(strs):
if not isinstance(strs,(str)):
raise TypeError('please give a string type')
if strs[:1]==' ':#第一个是不是空
return trim(strs[1:])
if strs[:-2:-1]==' ':#strs[:-2:-1]或者strs[-1:]==' ' #最后一个是不是空 多种写法
return trim(strs[:-1])
return strs
mystr = trim(" python 太变态,难怪有些人喜欢用,简化了太多 ");
print(mystr);
print(len(mystr));