【Python】高级特性 一

本文介绍了如何使用Python进行列表的切片操作以提取部分元素,包括去除字符串首尾空格的具体实现方法。此外,还探讨了如何遍历字典及字符串,并通过迭代找到列表中的最小值和最大值。

切片

取一个list或tuple的部分元素

常规方法:

循环方法:

切片操作符:

#切片
#取一个list或者tuple的部分元素是非常常见的操作
#取前三个元素
#利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
def trim(s):
    if s[:1]=='':
        return trim(s[1:])
    elif s[-1:]=='':
        return trim(s[:-1])
    elif s[:1]==''and s[-1:]=='':
        return trim(s[1:-1])
    return s

# 测试:
if trim('hello  ') != 'hello':
    print('测试失败!')
elif trim('  hello') != 'hello':
    print('测试失败!')
elif trim('  hello  ') != 'hello':
    print('测试失败!')
elif trim('  hello  world  ') != 'hello  world':
    print('测试失败!')
elif trim('') != '':
    print('测试失败!')
elif trim('    ') != '':
    print('测试失败!')
else:
    print('测试成功!')

#这段代码事实上有bug 无法运行 如果可以运行成功的话可以告诉我

迭代 

#迭代
#给定一个list或者tuple利用for循环遍历输出
#这种遍历成为迭代
#python中通过for...in来完成
d={'a':1,'b':2,'c':3}
for key in d:
    print(key)

for ch in 'ABC':
    print(ch)

from collections.abc import Iterable
isinstance('abc',Iterable)#判断str是否可以迭代

for i,value in enumerate(['A','B','C']):
    print(i,value)
    
#请使用迭代查找一个list中最小和最大值,并返回一个tuple
def findMinAndMax(L):
    if L==[]:
        return(None,None)
    else:
        min,max=L[0],L[0]
        for item in L:
            if max<item:
                max==item
            if min>item:
                min==item
            return(min,max)
# 测试
print(findMinAndMax([7, 1,2,4]))
# 事实上还是有bug 感觉没什么错误 摊手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值