python——高级特性

简介: 切片操作符Python提供了切片(Slice)操作符,切片操作十分有用,可以通过切片轻松取出某一段数列。比如前10个数:#slice切片操作符 取前10个元素L=list(range(0,100))print(L[:10])#索引为0可以省略》[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]L[0:10]表示从索引0开始取(索引为0可以省略),直到索引10为止(但是不包括索引10),就是一个“左闭右开”区间[0,10),切片操作符也可以取倒数元素比如L[-2:-1]取到倒数第二个元素98。

切片操作符

Python提供了切片(Slice)操作符,切片操作十分有用,可以通过切片轻松取出某一段数列。比如前10个数:

#slice切片操作符 取前10个元素
L=list(range(0,100))
print(L[:10])#索引为0可以省略

》[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

L[0:10]表示从索引0开始取(索引为0可以省略),直到索引10为止(但是不包括索引10),就是一个“左闭右开”区间[0,10),切片操作符也可以取倒数元素比如L[-2:-1]取到倒数第二个元素98。

用切片操作符实现strip的默认方法

#str.strip() 去掉首尾的指定字符(字符串),默认为空格
str='   hello  world!   '
print(str.strip())

#使用[:]切片操作符去掉字符串首尾空格
n=0
j=0#前索引
k=0#后索引
while n<len(str):
    if str[n:n+1]!=' ':
        j=n
        break
    n=n+1
while n<len(str):
    if str[-n-1:-n]!=' ':
        k=-n
        break
    n=n+1
print(str[j:k])

》hello  world!
》hello  world!

进阶版

使用[:]切片操作符实现strip方法

#使用[:]切片操作符实现strip方法
def my_strip(str,chr=' '):
    n=0#循环索引重置
    J=0#前索引
    K=0#后索引
    Ls=len(str)#输入字符串长度
    L=len(chr)#去掉字符长度
    #得到前索引J
    while n<Ls:
        if str[n:n+L]!=chr:
            J=n
            break
        n=n+L
    n=0#循环索引重置
    #得到后索引K
    while n<Ls:
        if str[-n-L:Ls-n]!=chr:
            K=Ls-n
            break
        n=n+L
    #返回切片
    return str[J:K]

str='0000a000'
chr='000'
print(my_strip(str,chr))

》0a

简单版

看了一个老哥的代码,非常简单,佩服,记录如下:

def trim(str,chr=' '):
    L=len(chr)
    while str[:L] == chr:   #如果字符串第一个是空格,删除第一个
        str = str[L:]
    while str[-L:] == chr:  #如果字符串最后一个是空格,删除最后一个
        str = str[:-L]
    return str

 

目录
相关文章
|
11小时前
|
存储 并行计算 计算机视觉
SciPy高级特性:稀疏矩阵与并行计算
【4月更文挑战第17天】SciPy是科学计算库,包含稀疏矩阵处理和并行计算等高级特性。稀疏矩阵适用于处理大量零元素的情况,如网络分析和图像处理,SciPy提供CSC、CSR、COO和LIL等多种存储格式。并行计算通过`joblib`和`multiprocessing`模块实现,能加速大规模计算任务。结合两者可高效解决大规模线性方程组等问题。
|
10月前
|
机器学习/深度学习 数据采集 Python
以深度为基础的Scikit-learn: 高级特性与最佳实践
Scikit-learn是一个广受欢迎的Python库,它用于解决许多机器学习的问题。在本篇文章中,我们将进一步探索Scikit-learn的高级特性和最佳实践。
|
7月前
|
算法 Python
Python-高级特性-L
Python-高级特性-L
|
存储 Python
Python(3)高级特性(下)
Python(3)高级特性(下)
87 0
|
存储 算法 C语言
Python(3)高级特性(上)
Python(3)高级特性
95 0
|
数据处理 索引 Python
Python进阶:全面解读高级特性之切片!
切片(slice)就是一种截取索引片段的技术,借助切片技术,我们可以十分灵活地处理序列类型的对象。通常来说,切片的作用就是截取序列对象,然而,对于非序列对象,我们是否有办法做到切片操作呢?在使用切片的过程中,有什么要点值得重视,又有什么底层原理值得关注呢?
162 0
Python进阶:全面解读高级特性之切片!
|
Python 容器
Python3高级特性(五)之容器(container)
Python3高级特性(五)之容器(container)
|
算法 Python
Python3高级特性(四)之生成器(Generator)
Python3高级特性(四)之生成器(Generator)
|
存储 Python
Python3高级特性(三)之列表生成式和迭代器(Iterator)
Python3高级特性(三)之列表生成式和迭代器(Iterator)
|
存储 Java 索引
Python3高级特性(二)之迭代(Iterable)
Python3高级特性(二)之迭代(Iterable)